清除屏幕Java中的所有图形

Pal*_*dan 2 java graphics

我正在做一个小游戏,我想设置失败的条件.如果失败是真的,我希望清除屏幕上的所有图形,这样我就可以让屏幕上的一些输出文字.

我认为有一种传统的方法可以做到这一点(我宁愿知道也不必放入不必要的代码).提前致谢!

到目前为止,这是我的代码:

public void paintComponent(Graphics g){
        if (!defeat){
            super.paintComponent(g);
            square.display(g);
            wall.display(g);
            for (Circle circle: circleArray){

                circle.display(g);
            }

        }else if(defeat){

            g.drawString("You have been defeated", 300, 300);
        }
Run Code Online (Sandbox Code Playgroud)

Sim*_*erg 5

你应该总是打电话super.paintComponent(g);(除非你真的知道你在做什么).

把这个电话放在你的if语句之外.那个电话就是"清除屏幕".像这样:

public void paintComponent(Graphics g){
    super.paintComponent(g);
    if (!defeat){
        square.display(g);
        wall.display(g);
        for (Circle circle: circleArray){

            circle.display(g);
        }

    }else if(defeat){

        g.drawString("You have been defeated", 300, 300);
    }
Run Code Online (Sandbox Code Playgroud)