gpt4 book ai didi

java - 不同按钮的相同 ActionListener - 最佳实践

转载 作者:太空宇宙 更新时间:2023-11-04 14:04:20 25 4
gpt4 key购买 nike

该代码有效,但我想知道当按钮在不同文件上执行相同任务时,这是否是添加 actionListener 的最佳方法/最推荐方法。我读过关于让类实现 ActionLister 接口(interface)与向每个按钮添加匿名 actionListener 类之间的争论。这两种方法似乎都不适合这种情况。这是我的代码,省略了不相关的部分:

public class ABC {
public ABC() {
// constructor here
}

private JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar();
JMenu menu1 = new JMenu("File");
menuBar.add(menu1);

JRadioButtonMenuItem P1 = new JRadioButtonMenuItem();
JRadioButtonMenuItem P2 = new JRadioButtonMenuItem();

P1.addActionListener(fileSelectionListener);
P2.addActionListener(fileSelectionListener);
P1.setText("P1");
P2.setText("P2");
menu1.add(P1);
menu1.add(P2);

return menuBar;
}

ActionListener fileSelectionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JRadioButtonMenuItem source = (JRadioButtonMenuItem) e.getSource();
String a = source.getText();
loadFile(a);
}
};

private void loadFile(String a) {
// implementation of method
}
// adding things to the frame
// main method
}

最佳答案

最好的方法是什么?可能不符合大多数人的标准。在我眼里?是的,这可能是最好的方法。您创建了一个可重用的 ActionListener 实例,因为您多次使用它。对我来说,这与让类扩展 ActionListener 是一样的。

最推荐的内容将我们带入辩论的深处,所以我可能不会偏离得太远;)

您的方法肯定比向每个按钮添加匿名监听器更快。

关于java - 不同按钮的相同 ActionListener - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29018764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com