Java:同一个类中有多个ActionListeners?

时间:2016-04-12 23:36:14

标签: java swing actionlistener

我目前正在为我的软件工程课程模拟股市。我正在使用actionlistener为我当前的每个菜单项打开新窗口。但是,似乎每个类只能使用一个ActionListener,因此我只能为所有菜单选项设置一个窗口。有没有其他方法来实现多个动作侦听器?还有另一种方法可以做到这一点。

这是我的代码:

total_loss(Y,T) == \sum_n C(t_n) * loss(y_n, t_n)

2 个答案:

答案 0 :(得分:1)

您不需要实现ActionListener接口,而是创建匿名类,以提供任何JButton或其他对象所需的不同功能。一个例子如下:

myButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // do whatever you want in here
            }

        });

答案 1 :(得分:1)

在GUIroughdraft类中,将此代码放在actionPerformed方法

public void actionPerformed(ActionEvent ev)
  {
    if(ev.getActionCommand().equalsIgnoreCase("Save"){
       SaveDialog dialog = new SaveDialog();
       dialog.setModal(true);
       dialog.setVisible(true);
     }
    else if(ev.getActionCommand().equalsIgnoreCase("Load")){
         LoadDialog dialog = new LoadDialog();
         dialog.setModal(true);
         dialog.setVisible(true);
     }
    else if(ev.getActionCommand().equalsIgnoreCase("Exit")){
        // Do whatever you like
     }

  }

并且根据编码标准,变量名称应以小写字母开头。

private JMenuItem SaveMenuItem; ---错

private JMenuItem saveMenuItem; ---正确