swing如何从另一个java类添加操作侦听器?
我想开发一个非常基本的应用程序,这是代码,我有4个类,一个是主类,第二个是JMenuBar
,第三个是Panel
,第四个是动作监听器。目前我的问题是如何为JMenuBar
类添加操作侦听器实例,直到我可以执行一些操作为止
public class My_Action implements ActionListener {
public My_Action() {
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
}
}
public class My_Menu extends JMenuBar {
private My_Action my_action = new My_Action();
JMenu file;
JMenu Edit;
JMenu help;
public My_Menu() {
file = new JMenu("File");
Edit = new JMenu("Edit");
help = new JMenu("help");
JMenuItem item1 = new JMenuItem("file");
JMenuItem item2 = new JMenuItem("New");
JMenuItem item3 = new JMenuItem("Setting");
JMenuItem item4 = new JMenuItem("Color");
JMenuItem item5 = new JMenuItem("Print");
JMenuItem item6 = new JMenuItem("Exit");
file.add(item1);
file.add(item2);
file.add(item3);
file.add(item4);
file.add(item5);
file.add(item6);
file.addSeparator();
this.add(file);
this.add(Edit);
this.add(help);
item1.addActionListener(my_action);
}
public void actionPerformed(ActionEvent actionEvent){
System.exit(0);
}
}
# 1 楼答案
你所拥有的是正确的。 当你们点击“文件”菜单项时,它应该调用执行的操作。只需在该方法中添加一个print ln,就可以看到它被调用
# 2 楼答案
这是我给你的测试程序
执行菜单程序时,检查控制台输出
只需将addActionListener添加到需要发送消息的组件中即可
或者
别忘了在My_菜单类上实现ActionListener