Jmenu 选项 onclick 获取文本
Jmenu option onclick get Text
我有以下 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 =,文本=添加]
所以我想要的东西来自 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());
}
});
我有以下 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 =,文本=添加]
所以我想要的东西来自 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());
}
});