【问题标题】:How to check which button was clicked using Netbeans GUI editor如何使用 Netbeans GUI 编辑器检查单击了哪个按钮
【发布时间】:2019-04-15 11:25:15
【问题描述】:

目前我正在设计我的 GUI 表单,我想知道一件事。 这是我的图形用户界面:

我想为所有这些按钮添加相同的ActionPerformed方法,但是在ActionListener中只能设置一个参数(或者我不知道如何更改它),即ActionEvent evt。

我的问题是:如何根据单击的按钮添加另一个要发送到 ActionPerformed 的参数,然后让我们说从按钮在控制台文本中打印?

仅编辑代码 (ActionListener) 时无法执行此操作,因为 NetBeans 编辑器会阻止此类操作。

提前致谢。

【问题讨论】:

  • 似乎您将程序的事件循环与业务逻辑本身混淆了——几乎没有任何情况下您会想要修改 ActionPerformed。你为什么不更详细地解释你实际上想要做什么?您是否试图让所有按钮执行相同的操作,而不管您单击的是哪个按钮?花点时间阅读XY Problem
  • 您是否试图让所有按钮执行相同的操作,而不管您单击的是哪个按钮?是的,这正是我想要实现的。编辑代码是我的解决方案之一,但不是问题本身 ;)

标签: java swing user-interface netbeans


【解决方案1】:

然后让我们说从按钮打印控制台文本?

你写了一个通用的监听器。 ActionEvent 包含被点击的按钮。

基本逻辑是:

ActionListener al = new ActionListener()
{
    @Override
    public void actionPerformed(ActionEvent e)
    {
        JButton button = (JButton)e.getSource();
        System.out.println( button.getText() );
    }
}

...

button1.addActionListener( al );
button2.addActionListener( al );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多