仅当文本区域不为空并获取所选索引时,才在文本区域中创建右键单击弹出菜单



我在如何在JavaSwing中创建右键单击上下文菜单中看到了答案?看看我如何创建菜单。然而,当我将它与文本区域关联时,不管它上面是否写了什么,它总是显示菜单。

我使用文本区域来显示我从一个特定类(保存在ArrayList中)创建了多少对象。我需要的是一个菜单,当单击特定的文本行时,它可以在ArrayList中拥有对象的索引,并使用该菜单从ArrayList编辑/删除指定的对象。这可能与文本区域有关吗?还是我应该使用不同类型的显示组件?

例如:

文本区域:

对象1。

对象2。

对象3。

例如,当我右键单击选择"对象1"时,它会显示带有"编辑和删除"的菜单。但当我没有选择任何一个时,菜单就不会显示。当它显示时,它可以访问对象的索引(对象1->索引0,对象2->索引1,等等)

非常感谢你的帮助,Nhekas

我使用文本区域来显示我从特定类创建了多少对象

不要使用JTextArea。

相反,我建议您应该使用JList。阅读Swing教程中关于如何使用列表的部分,了解更多信息和示例。

JList有一个locationToIndex(...)方法,它将为您提供单击鼠标的行。然后您可以从列表中获取对象。

最新更新