我只是在Java中进入图形,我有一个问题。我使用JPanel面板创建了一个JFrame窗口(NetBeans Designer),并在其上绘制了一些图形。然后我添加了一个JButton,它改变了一个变量,这会改变JPanel上方块的X位置。在Java中重绘图形
在按钮按下该代码将执行:
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,矩形并移动到新位置,但在旧的位置仍然可见。只有当我调整窗口的大小时才会刷新,旧的矩形会消失。我怎样才能解决这个问题,以便当我按下按钮时,矩形只在新位置可见?
为了更快得到更好的帮助,请发布SSCCE(http://pscode.org/sscce.html)。如果您有问题,请不要忘记添加问号(?)。 – 2011-03-13 12:00:24
我对这个第一个问题是一个非常明确的问题。 – Chris 2011-03-13 12:02:20