我刚刚进入 Java 中的图形,我有一个问题。我创建了一个带有 JPanel 面板的 JFrame 窗口(NetBeans Designer),并在其上绘制了一些图形。然后我添加了一个更改变量的 JButton,这将更改 JPanel 上正方形的 X 位置。
在按钮按下此代码将执行:
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;
    }
}
现在,当我按下 JButton 时,矩形确实移动到了新位置,但它在旧位置仍然可见。只有当我调整窗口大小时,它才会刷新并且旧的矩形消失。我该如何解决这个问题,以便当我按下按钮时,矩形仅在新位置可见?