Как изменить цвет кнопки?

#java #swing #awt

Вопрос:

В моей программе у меня есть 2 кнопки: первая изменяет фон кадра, вторая изменяет фон кнопки(только для себя). Дело в том, что программа должна изменять фон кнопок для каждой кнопки в программе(не только для себя). Как я должен переписать диалог?

 class ButtonBackgroundChange implements ActionListener{  private JDialog dialog;  private JColorChooser chooser;  private Color currentBackground;   public ButtonBackgroundChange(JButton button1, Component component, Color currentBackground){  this.currentBackground = currentBackground;  chooser = new JColorChooser();  dialog = JColorChooser.createDialog(component, "Background Color", false /* not modal */, chooser, event -gt; button1.setBackground(chooser.getColor()), null /* no Cancel button listener */);  }   @Override  public void actionPerformed(ActionEvent e) {  chooser.setColor(currentBackground);  dialog.setVisible(true);  } }  

Комментарии:

1. Если вы сохраните свои кнопки в списке, который вы передадите функции, вы сможете просмотреть его и установить цвет фона для каждой кнопки.

2. @MarkoMarinkovic Могу ли я сделать это без списка? Например, с использованием EventQueue?

3. Если вы хотите изменить фон кнопок для каждой кнопки в программе , вам нужно ссылаться на каждую кнопку. Лучше всего хранить ссылки в коллекции, как предложил @MarkoMarinkovic, или, в качестве альтернативы, перечислить их все в коде.

4. @MarkoMarinkovic Я добавил список, спасибо за комментарий

5. Не беспокойтесь, пожалуйста, примите ответ, если он был полезен.

Ответ №1:

Если вы сохраните свои кнопки в списке, который вы передадите функции, вы сможете просмотреть его и установить цвет фона для каждой кнопки.