How to rename set of JButtons?

2019-08-31 19:12发布

问题:

I have 25 jButtons and i want to change their texts from a loop. Here is my code for 1 button..

void changeText(){
            jButton1.setText(jButton1.getText().toUpperCase());

    }

I want to do the same for all other buttons without writing a method for each.

Is it possible to use something like this?

void changeText(){
        for(int i=0;i<25;i++){
            String x = "jButton"+i;
            x.setText(x.getText().toUpperCase());
        }
    }

Surely this wont work. Please suggest me a method.

回答1:

You can do this by adding the buttons to a collection.

Something like this:

// initialization of jbuttons:
List<JButton> buttons = new ArrayList<JButton>();
JButton jbutton1 = new JButton();
// .. set properties
buttons.add(jbutton1);

// add more jbuttons to the list

Later you can iterate over the list of buttons:

for (JButton button : buttons) {
  button.setText(button.getText().toUpperCase());
}