Java 如何在动态添加到JMenu的JMenuItem中添加操作侦听器

Java 如何在动态添加到JMenu的JMenuItem中添加操作侦听器,java,Java,在JMenuBar中有许多JMenu,其中一个是“Tables”。在这个JMenu中,我从数据库中添加了许多JMenuItem,但我不知道如何向它们添加操作侦听器。有人能告诉我怎么做吗?我不知道您是如何动态添加所有内容的,但在这种情况下,您应该能够将ActionListener添加到每个对象,并将其添加到您所面临的任何循环代码中。我将在下面给出一个for循环的示例,该循环通过JMenuItems列表 for(int i = 0; i < menuItemsList.size(); i++)

在JMenuBar中有许多JMenu,其中一个是“Tables”。在这个JMenu中,我从数据库中添加了许多JMenuItem,但我不知道如何向它们添加操作侦听器。有人能告诉我怎么做吗?

我不知道您是如何动态添加所有内容的,但在这种情况下,您应该能够将ActionListener添加到每个对象,并将其添加到您所面临的任何循环代码中。我将在下面给出一个for循环的示例,该循环通过JMenuItems列表

for(int i = 0; i < menuItemsList.size(); i++){
   JMenuItem item = menuItemList.get(i);
   item.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent ev) {
           //the code you want to execute in the event
       }
   });
}
for(int i=0;i
在这种情况下,每个JMenuItem都将有一个事件

希望这能有所帮助,如果你不举例说明你的代码,我也无能为力


尊敬。

请告诉我们,作为您文章的一部分,您做了什么来尝试解决这个问题。我在一个项目上工作,该项目有许多表,为了显示它们,我添加了许多JMenuItem,即表名。通过单击JMenuItem中的表名,该表应该显示在JPanel中。因此,对于此操作,每个JMenuItem上的侦听器都是必需的。那么,我如何向每个JMENUITEM(表名)添加操作侦听器来显示它们呢。根据这一准则。如何在每个菜单上提供不同的实现在这种情况下,我建议您使用设计模式来动态实例化每个JTable,也许您可以为每个JTable传递一个键值作为参数,并且可能使用抽象工厂模式来做您想做的事,我也很困惑,您是否知道要显示多少个JTables,或者这些JTables也是动态添加的?。