Я только начинаю изучать графику на Java, и у меня проблема. Я создал окно JFrame (NetBeans Designer) с панелью JPanel и нарисовал на нем немного графики. Затем я добавил JButton, который изменил переменную, которая изменит положение X квадрата на JPanel.
При нажатии кнопки этот код будет выполнен:
drawObject.setX(150);
drawObject.repaint();
drawObject является экземпляром этого класса:
public class sola extends JPanel {
private int x = 10;
@Override
public void paintComponent(Graphics g){
super.paintComponents(g);
super.setBackground(Color.WHITE);
g.setColor(Color.ORANGE);
g.fill3DRect(x, 160, 100, 50, true);
}
public void setX(int xX){
x = xX;
}
}
Теперь, когда я нажимаю кнопку J, прямоугольник перемещается в новую позицию, однако он все еще виден в старой позиции. Только когда я изменяю размер окна, оно обновляется, и старый прямоугольник исчезает. Как я могу решить эту проблему, чтобы при нажатии кнопки прямоугольник был виден только в новой позиции?