public class LevelEditorButton extends JButton
{
/**
*
*/
private static final long serialVersionUID = 1L;
private int i;
public int getState() {return i;}
public void increaseState()
{
if(i == 2)
i = 0;
else
i++;
changeState();
}
public LevelEditorButton()
{
i = 0;
changeState();
this.setOpaque(true);
}
public void changeState()
{
if(i == 0)
this.setBackground(Color.GREEN);
else if(i == 1)
this.setBackground(Color.RED);
else
this.setBackground(Color.BLACK);
this.setOpaque(true);
}
}
public class ChangeColorButtonListener extends LevelEditorButton implements ActionListener
{
@Override
public void actionPerformed(ActionEvent ae)
{
this.increaseState();
}
}
Программирование на моем Mac всегда приводит к странным ошибкам с JButtons, поэтому я немного заблудился в том, куда идти дальше. Когда я отлаживаю его, он показывает, что цвет кнопки изменился, но не будет отображаться на экране. Я пробовал repaint (), revalidate () и updateUI (). Любая помощь будет принята с благодарностью.