我刚刚进入 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 时,矩形确实移动到了新位置,但它在旧位置仍然可见。只有当我调整窗口大小时,它才会刷新并且旧的矩形消失。我该如何解决这个问题,以便当我按下按钮时,矩形仅在新位置可见?