рисование определенной кнопки из сетки кнопок
Следующая сетка кнопок определяется как:
JButton button_x = new RoundButton();
гдеRoundButton
определяется как :}
public class RoundButton extends JButton {
public RoundButton(String label) {
super(label);
this.setContentAreaFilled(false);
Dimension size = this.getPreferredSize();
size.height = size.width = Math.max(size.height, size.width);
this.setPreferredSize(size);
}
@Override
protected void paintComponent(Graphics g) {
if(!GameState.getIfComplete()) { // If the game is not complete or has just started
this.setBorder(null);
g.setColor(Color.BLACK);
g.fillRect(0, 0, this.getSize().width, this.getSize().height);
if(this.getModel().isArmed()) {
g.setColor(Color.RED);
}else {
g.setColor(Color.GREEN);
}
g.fillOval(0,0,this.getSize().width-1,this.getSize().height-1);
super.paintComponent(g);
}else {
this.setBorder(null);
g.setColor(Color.BLACK);
g.fillRect(0, 0, this.getSize().width, this.getSize().height);
g.setColor(Color.WHITE);
g.fillOval(0,0,this.getSize().width-1,this.getSize().height-1);
super.paintComponent(g);
}
}
В настоящее время все кнопки окрашены в зеленый цвет, но при определенных условиях я хочу покрасить определенные кнопки в белый цвет (это код в другой части). Например, когда!GameState.getIfComplete()
возвращаетсяfalse
Я хочу покрасить кнопки в первом столбце в белый цвет. Так я звонюrepaint
как :
buttons[0].repaint();
buttons[3].repaint();
buttons[6].repaint();
Но это нет работа! В первом столбце некоторые другие кнопки также окрашены в белый цвет. Это почему ?
Что не так с звонком? Как мне нарисовать определенную кнопку?