Java Swing:Button的特定ID。如何在不使用.getActionCommand的情况下捕获监听器中的按下按钮?

时间:2012-09-15 15:15:53

标签: java swing jbutton actionlistener listeners

我必须将一个ActionListener写入JPanel。

任务,取决于按下的按钮以执行所需操作。我知道的唯一方法 - 使用event.getActionCommand()从按钮获取标签,并根据该字符串导致所需的操作。

但我认为对标签进行绑定是错误的方式,非常错误的方式。 还有其他选择吗?

换句话说,我的问题是:如何确定按下按钮?

2 个答案:

答案 0 :(得分:1)

Swing是一个事件驱动架构。因此,无论何时尝试与组件执行任何类型的交互,理想情况下都可以捕获或使用与组件关联的相应事件。

您需要做的是添加一个 ActionListener ,并且当执行某个操作时(按下该按钮),您将调用该方法(您在代码中讨论的“必需操作”)。如果您是ActionListener的新用户,您可能会发现:"How to Write an Action Listener"有帮助

答案 1 :(得分:1)

我做过的一件事是这样的:

// Action Listener method
public void actionPerformed(ActionEvent e) {
    // Did somebody push my button?
    if (e.getSource() == myButton) {
        myCaller.doButton(myButton, myValue);
    }
}