gpt4 book ai didi

java - 按钮数组,仅使一个按钮在单击时更改其文本

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:23 26 4
gpt4 key购买 nike

我有一个用按钮填充的数组,我希望单个按钮在单击时更改其文本。

for (int i = 0; i<4; i++)
{
button[i] = new JButton ("Add");
button[i].addActionListener(this);

box[i] = new JComboBox();
foodOptions.add(box[i]);
foodOptions.add(button[i]);

}

public void actionPerformed (ActionEvent e)
{

button[this].setText("I've been clicked!");

}

当前因为不兼容的类型不工作,什么格式合适?

最佳答案

是的,将对象 this 传递到需要 int 的数组索引中是没有意义的,而不是您的 GUI 对象,所以我不确定您试图通过这个。

只需从 ActionEvent 的 getSource() 方法获取对已单击的 JButton 的引用:

JButton btn = (JButton)e.getSource();
btn.setText("I've been clicked");

编辑:
此外,您应该避免使用 this 作为您的 ActionListener,因为这意味着您可能让您的 GUI 类实现一个 ActionListener,它要求可怜的类做太多的事情,做太多的事情。使用匿名内部类或者使用 AbstractActions 会更好。

关于java - 按钮数组,仅使一个按钮在单击时更改其文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14327709/

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