-1

我有很多 GUI 表单,每个 GUI 表单上有很多按钮。我想检测用户何时单击这些按钮中的任何一个。

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

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

loginButton.addActionListener(new ActionListener() {  
        public void actionPerformed(ActionEvent e)
        {
            System.out.println("You clicked the button");
        }});
4

1 回答 1

1

我应该为每个按钮单独添加代码,还是可以通过按下按钮时调用的公共方法来满足每个按钮按下?

在我看来(和理智),我会将动作侦听器/处理程序分开。一般来说,它使单个操作/代码保持简单和重点。

如果需要,每个按钮/菜单可以有多个动作监听器。

我还要看看Action API

如果我使用公共方法(我宁愿这样做),该方法如何检测调用该函数的按钮?按钮必须是公共变量吗?

如果您真的热衷于遵循此方法,您可以将 传递ActionEvent给它,其中将包含对动作源的引用以及动作命令。

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

于 2013-05-12T12:01:53.650 回答