Java 向按钮按下添加处理程序

Java 向按钮按下添加处理程序,java,button,awt,actionlistener,actionevent,Java,Button,Awt,Actionlistener,Actionevent,我有许多GUI表单,每个GUI表单上有许多按钮。我想检测用户何时单击这些按钮 我的问题是:我应该为每个按钮单独添加代码,还是可以通过一个每当按下按钮时调用的公共方法来满足每个按钮的按下?如果我使用公共方法(我更愿意这样做),该方法如何检测调用函数的按钮?按钮必须是公共变量吗 目前我正在使用此代码(这很有效,我想知道我是否可以做得更好): 我应该为每个按钮单独添加代码,还是可以满足每个按钮的需要 button press(按钮按下)由一个公共方法执行,该方法在按钮按下时调用 压力 在我看来(而且理

我有许多GUI表单,每个GUI表单上有许多按钮。我想检测用户何时单击这些按钮

我的问题是:我应该为每个按钮单独添加代码,还是可以通过一个每当按下按钮时调用的公共方法来满足每个按钮的按下?如果我使用公共方法(我更愿意这样做),该方法如何检测调用函数的按钮?按钮必须是公共变量吗

目前我正在使用此代码(这很有效,我想知道我是否可以做得更好):

我应该为每个按钮单独添加代码,还是可以满足每个按钮的需要 button press(按钮按下)由一个公共方法执行,该方法在按钮按下时调用 压力

在我看来(而且理智地说),我会将动作侦听器/处理程序分开。一般来说,它保持了单个操作/代码的简单性和针对性

如果需要,每个按钮/菜单可以有多个操作侦听器

我还要看一下API

如果我使用一个公共方法(我更愿意这样做),该方法是如何实现的 是否检测调用该函数的按钮?按钮一定要被打开吗 公共变量

如果您确实希望使用此方法,可以将
ActionEvent
传递给它,它将包含对操作源以及操作命令的引用


就我个人而言,我不会。众所周知,这类方法很难管理、维护、调试和更新

“我想检测用户何时单击其中任何一个按钮。”然后,您通常需要确定按下了哪个按钮,以便采取适当的行动。因此,通常认为最好对每个按钮/菜单项使用一个
ActionListener
AbstractAction
。注意,1个问题现在扩展为3个问题:最好将每个问题限制为一个问题。请不要忘记添加一个问号..看看ActionEvent是否可以用于获取目标。了解如何使用SDK请参见此链接
loginButton.addActionListener(new ActionListener() {  
        public void actionPerformed(ActionEvent e)
        {
            System.out.println("You clicked the button");
        }});