[英]Using ActionListener in separate class
我正在尝试为动作侦听器创建一个单独的类,但我不确定如何将动作侦听器添加到菜单项。 我一直在尝试一些不同的东西,但没有人让消息对话框出现。 我有一个单独的类中的动作监听器和一个单独的类中的菜单项,我试图让它们一起工作。
public class HangmanView {
Listener listener = new Listener();
public JMenuItem getMenuItem() {
JMenuItem menuItem = new JMenuItem("Developer", KeyEvent.VK_T);
menuItem.addActionListener(new Listener());
return menuItem;
}
public JMenuBar menuBar() {
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("File");
menuBar.add(menu);
menu.add(getMenuItem());
return menuBar;
}
另一类:
public class Listener {
JFrame dialogFrame = new JFrame();
public JFrame menuItemListener() {
HangmanView hangmanView = new HangmanView();
hangmanView.getMenuItem().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {// right click key
JOptionPane.showMessageDialog(dialogFrame, "Developer: Joe"
, "Developer",
JOptionPane.INFORMATION_MESSAGE);
}// end actionPerformed method
});
return dialogFrame;
}
}
您似乎在课程,界面等方面遇到了很多困惑,所以实际上很难知道从哪里开始!
首先,您的Listener类需要实现ActionListener。
然后,您需要以与现有相同的方式将其添加到HangmanView类中:
public class Listener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {// right click key
JOptionPane.showMessageDialog(dialogFrame, "Developer: Joe"
, "Developer",
JOptionPane.INFORMATION_MESSAGE);
}// end actionPerformed method
});
就是这样,你完成了......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.