【问题标题】:Jmenu option onclick get TextJmenu 选项 onclick 获取文本
【发布时间】:2021-01-14 10:51:05
【问题描述】:

我有以下 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,rolloverIcon=,rolloverSelectedIcon= ,selectedIcon=,text=添加]

所以我想要的东西是从 evt 中获取在第一个选项“添加”的情况下所说的文本。我该怎么做?

【问题讨论】:

    标签: java swing jmenu jmenuitem


    【解决方案1】:

    将其发送至JMenuItem 并调用getText()

    private void menuMouseClicked(java.awt.event.MouseEvent evt) {           
        JMenuItem menuItem = (JMenuItem) evt.getSource();                      
        System.out.println(menuItem.getText());
    }
    

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

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

    【讨论】:

    • 如何制作演员表?
    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    相关资源
    最近更新 更多