Привет, ребята. У меня есть JPanel, который меняет цвет при нажатии (это правильно обрабатывается в другом классе).
К сожалению, когда я вызываю метод repaint (), он не рисует (или вызывает метод paintComponent со старым значением Color для var currentBGColor -> см. Код ниже)
public class MyClass extends JPanel {
curentBGColor = Color.red;
final int SIZE = 70;
public MyClass (){
setPreferredSize (new Dimension (SIZE,SIZE));
}
public void paintComponent (Graphics g)
{
g.setColor (currentBGColor); //I want this to paint white when newColor() is called
g.fillRect (0,0,getWidth(),getHeight());
g.setColor (Color.black);
g.drawLine (0,0,SIZE-1,0);
g.drawLine (0,0,0,SIZE-1);
g.drawLine (0,SIZE-1,SIZE-1,SIZE-1);
g.drawLine (SIZE-1,0,SIZE-1,SIZE-1);
}
void newColor (){
currentBGColor = Color.white;
repaint ();
revalidate();
}
}
Кто-нибудь знает, почему он не рисует новым цветом?