Java Jmenu选项onclick获取文本

Java Jmenu选项onclick获取文本,java,swing,jmenu,jmenuitem,Java,Swing,Jmenu,Jmenuitem,我有以下JMenu: 因此,我在每个菜单选项中添加了相同的mouseclicked事件,所以当我在evt中单击其中一个时,我可以得到文本。在事件中,我有以下代码: private void menuMouseClicked(java.awt.event.MouseEvent evt) { System.out.println(evt.getSource ()); } 这样,每次按下一个选项,我都会得到输出: ..…j

我有以下JMenu:

因此,我在每个菜单选项中添加了相同的mouseclicked事件,所以当我在evt中单击其中一个时,我可以得到文本。在事件中,我有以下代码:

private void menuMouseClicked(java.awt.event.MouseEvent evt) {                                  
    System.out.println(evt.getSource ());
}
这样,每次按下一个选项,我都会得到输出: ..…javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=false,paintFocus=false,pressedIcon=,rolloverEnabled=false,rolloverSelectedIcon=,rolloverSelectedIcon=,text=Add]


所以我想要的是,从evt中,得到第一个选项“Add”的文本。我如何才能做到这一点?

将其强制转换为
JMenuItem
并调用
getText()

您可能还需要查看
JMenuItem#addActionListener
。您可以将
ActionListener
添加到特定的
JMenuItem
中,然后使用相同的逻辑:

someMenuItem.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
          JMenuItem menuItem = (JMenuItem) evt.getSource();                      
          System.out.println(menuItem.getText());  
    }
});

我该怎么做演员?检查我的答案我已经更新了
someMenuItem.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
          JMenuItem menuItem = (JMenuItem) evt.getSource();                      
          System.out.println(menuItem.getText());  
    }
});