gpt4 book ai didi

java - 如何在 Java 中将 ActionListener 添加到 JButton 上

转载 作者:IT老高 更新时间:2023-10-28 21:17:50 26 4
gpt4 key购买 nike

private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");

如何向这些按钮添加 Action 监听器,以便从主方法中我可以对它们调用 actionperformed,以便在单击它们时可以在我的程序中调用它们?

最佳答案

两种方式:

1. 在你的类中实现 ActionListener,然后使用 jBtnSelection.addActionListener(this); 稍后,你必须定义一个方法,public void actionPerformed(ActionEvent e)。但是,对多个按钮执行此操作可能会造成混淆,因为 actionPerformed 方法必须检查每个事件的来源 (e.getSource()) 以查看它是哪个按钮来自。

2. 使用匿名内部类:

jBtnSelection.addActionListener(new ActionListener() { 
public void actionPerformed(ActionEvent e) {
selectionButtonPressed();
}
} );

稍后,您必须定义 selectionButtonPressed()。当您有多个按钮时,这会更好地工作,因为您对处理操作的各个方法的调用就在按钮的定义旁边。

2,更新。由于 Java 8 引入了 lambda 表达式,您可以说与 #2 基本相同的内容,但使用的字符更少:

jBtnSelection.addActionListener(e -> selectionButtonPressed());

在这种情况下,e 是 ActionEvent。这是因为 ActionListener 接口(interface)只有一个方法,actionPerformed(ActionEvent e)

第二种方法还允许您直接调用 selectionButtonPressed 方法。在这种情况下,如果发生其他一些操作,您也可以调用 selectionButtonPressed() - 例如,当计时器关闭或其他情况时(但在这种情况下,您的方法将被命名为不同的名称,也许 selectionChanged()).

关于java - 如何在 Java 中将 ActionListener 添加到 JButton 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284899/

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