按钮数组,单击时只需一个按钮即可更改其文本

Fre*_*d V 3 java swing jbutton

我有一个数组,我填充了按钮,我想要一个单独的按钮,以便在单击时更改其文本.

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!");

    }
Run Code Online (Sandbox Code Playgroud)

由于类型不兼容,电流不起作用,哪种格式合适?

Hov*_*els 5

是的,将一个对象传递给一个this需要int而不是GUI对象的数组索引是没有意义的,所以我不确定你试图通过它实现什么.

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

JButton btn = (JButton)e.getSource();
btn.setText("I've been clicked");
Run Code Online (Sandbox Code Playgroud)

编辑:
你也应该避免使用thisActionListener,因为这意味着你可能让你的GUI类实现一个ActionListener,它要求穷人做太多事情,做太多.使用匿名内部类或者更好地使用AbstractActions,你会好得多.