gpt4 book ai didi

java - 许多 JButton 的一个 ActionListener

转载 作者:搜寻专家 更新时间:2023-10-31 08:27:42 26 4
gpt4 key购买 nike

我想向一组按钮添加一个ActionListener。有没有包装按钮的类?像 GroupJButtons 或更一般的对象组?所以我可以为所有这些设置一个 ActionListener。毕竟我真的不关心按下了哪个按钮我只想更改他的文本所以我需要做的就是将它转换为 JButton 并更改文本。

整个过程会减少 1 或 2 行代码(如果您使用循环),但我想这样做,因为这听起来逻辑上更好。

最佳答案

在这种情况下,您可以扩展 AbstractAction 类并简单地将相同的操作应用于多个按钮。

  class MyAction extends AbstractAction {
public MyAction(String text, ImageIcon icon,
String desc, Integer mnemonic) {
super(text, icon);
putValue(SHORT_DESCRIPTION, desc);
putValue(MNEMONIC_KEY, mnemonic);
}
public void actionPerformed(ActionEvent e) {
//do the action of the button here
}
}

然后对于您希望发生相同事情的每个按钮,您可以:

 Action myAction = new MyAction("button Text", anImage, "Tooltip Text", KeyEvent.VK_A);
button = new JButton(myAction);

关于java - 许多 JButton 的一个 ActionListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13788399/

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