当前位置: 首页 > 面试题库 >

一个动作侦听器,两个JButton

方昊英
2023-03-14
问题内容

我有两个分别JButtons称为“左”和“右”。“左”按钮将矩形对象向左移动,“右”按钮将其向右移动。我ActionListener在班上有一个充当单击任一按钮时的侦听器。但是,我希望单击每个动作时都会发生不同的动作。如何区分ActionListener点击的?


问题答案:

将actionCommand设置到每个按钮。

//将动作命令设置到两个按钮上。

 btnOne.setActionCommand("1");
 btnTwo.setActionCommand("2");

public void actionPerformed(ActionEvent e) {
 int action = Integer.parseInt(e.getActionCommand());

 switch(action) {
 case 1:
         //doSomething
         break;
 case 2: 
         // doSomething;
         break;
 }
}

更新:

public class JBtnExample {
    public static void main(String[] args) {
        JButton btnOne = new JButton();
        JButton btnTwo = new JButton();

        ActionClass actionEvent = new ActionClass();

        btnOne.addActionListener(actionEvent);
                btnTwo.addActionListener(actionEvent);

        btnOne.setActionCommand("1");
        btnTwo.setActionCommand("2");
    }
}

class ActionClass implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        int action = Integer.parseInt(e.getActionCommand());
        switch (action) {
        case 1:
            // DOSomething
            break;
        case 2:
            // DOSomething
            break;                          
        default:
            break;
        }
    }
}


 类似资料:
  • 问题内容: 可能有两堂课,而在一堂课中 在另一个 //更多原因是因为我需要将按钮(摆动)分离到动作监听器 我该怎么办? 谢谢 问题答案: 不仅可以将这两个部分分开,而且还建议这样做(请参阅MVC模式-非常有关分离屏幕控件(如按钮)和程序逻辑) 我想到的最简单的方法是编写一个实现接口的命名类,如下所示: 然后将其添加到您的按钮:

  • 导入javax.swing.*; class Labels extensions JFrame{ JPanel pnl = new JPanel(); } 如果我想将其用作JApplet怎么办?必须做什么?很难更改吗? JFrame上运行的东西和JApplet上的东西是一样的吗?

  • 服务器部件: 客户部分:io.js 消息组件 信息形式——发布过程的开始

  • 我是JComboBox的新手 我有4个JComboBox:专用、etudiant、annee和semestre。 每次更改所选项目并将结果添加到滚动窗格(groupe des matieres ouvertes)时,我都需要从其中的4个项目中获取所选项目

  • 我正在处理JButton事件。我有一个JPanel类,我们叫Panel1,包含一个公共的JButton,我们叫它Button1。单击此按钮时: 但我有兴趣: 有什么建议吗?

  • 问题内容: 我有一个,并且里面有两个。当我按下一个键时,他们两个都必须收听此键事件并采取行动。我要处理所有键盘事件,并将它们传递给两个s。你知道怎么做吗? 编辑:由于他们必须做不同的事情,所以我需要两个不同的侦听器,对不起您不明确。 Edit2:我编写了一个简单的代码来向您展示问题。当我按下向上键时,两个显示的s都必须更改其字符串。在此代码中,只有其中一个实际反应! 问题答案: 代替,使用 按键绑