如何解决Jmenu 选项 onclick 获取文本
我有以下 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,获取第一个选项“添加”的文本。我该怎么做?
解决方法
将其投射到 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());
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。