java,Graphic设置背景颜色后一直在褐色和粉色之间来回闪烁

public void update(Graphics g) {
    // TODO Auto-generated method stub
    if(offScreenImage == null){
        offScreenImage = this.createImage(GAME_WIDTH,GAME_HEIGHT);
        }
    Graphics goffScreen = offScreenImage.getGraphics();
    goffScreen.fillRect(0, 0, GAME_WIDTH,GAME_HEIGHT);
    Color c = goffScreen.getColor();
    goffScreen.setColor(Color.PINK);
    goffScreen.setColor(c);
    paint(goffScreen);
    g.drawImage(offScreenImage, 0, 0, null);
    super.update(g);
}

public void lauchFram(){
    this.setLocation(400, 300);
    this.setSize(GAME_WIDTH,GAME_HEIGHT);
    this.setTitle("TankWar");
    this.addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            // TODO Auto-generated method stub
            super.windowClosing(e);
            System.exit(0);
        }
    });
    this.setResizable(false);
    this.setBackground(Color.PINK);

去掉super.update(g);看看

你的update方法设置颜色的地方有误:Color c = goffScreen.getColor();
goffScreen.setColor(Color.PINK);
goffScreen.setColor(c);
当然会闪烁,你没必要把golfScreen的颜色拿出来,直接设置就好了,即把上面第1、3句去掉。你看到的不是褐色,而是粉色和黑色交替出现,看起来是褐色