gpt4 book ai didi

java - JButton 数组 ActionListener

转载 作者:行者123 更新时间:2023-11-29 10:16:08 24 4
gpt4 key购买 nike

简而言之,我想将一堆 JButton 累积到一个数组中,并为该数组创建一个 ActionListener 类。

我正在尝试创建一个计算器,所有带编号的按钮(例如“6”)都在 JButton 数组中,因为我想让它把设定的数字输入到temporary int,创建一个方法会更容易,而不是 10 个。我还有 40 个其他按钮,我想对它们应用相同的主体,但在不同的数组中,这样会更快更容易将它们放入几个 ActionListener 方法中,在该方法中实现按钮数据。这是我的代码:

private JButton num0, num1, num2, num3, num4, num5, num6, num7, num8, num9;
private JButton numArray[] = {num0, num1, num2, num3, num4, num5, num6, num7, num8, num9};

public GUI(){
numArray.AddActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){

}
});
}

最佳答案

可以考虑Newb Monad的提议。但是,您可以对所有按钮使用相同的监听器,如以下示例所示。

public static void main(String[] args) {

ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JButton) {
String text = ((JButton) e.getSource()).getText();
JOptionPane.showMessageDialog(null, text);
}
}
};

JPanel panel = new JPanel(new GridLayout(4,3));

JButton[] array = new JButton[10];
for (int i = 0; i < array.length; i++) {
array[i] = new JButton(String.valueOf(i));
array[i].addActionListener(listener);
panel.add(array[i]);
}

JOptionPane.showMessageDialog(null, panel);

}

Dialog

Event

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

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