尝试清除程序的画布

时间:2018-10-26 20:41:00

标签: java user-interface canvas awt

我正在使用ObjectDraw库,并且我有两个方法可以打印两种不同的模式。我使用一种方法onMouseClick(Location point)在用户第一次单击画布时打印第一个图案,然后我想用canvas.clear();清除画布,然后在第二次单击上打印第二个图案(依此类推)。

我很难找到一种方法来避免所有事情同时发生。我尝试使用布尔变量,但是我计划创建更多的模式方法,因此我不确定该策略。有帮助吗?

这是我的onMouseClick(Location point)方法在程序中的样子:

public void onMouseClick(Location point) {
           pattenrOne();
           canvas.clear();
           patternTwo();
    }

1 个答案:

答案 0 :(得分:0)

我会将所有模式存储在一个数组或一个列表中,并使用一个int变量来跟踪点击次数,从而跟踪绘制哪种模式。然后,不要使用多种方法来绘制图案(patternOnepatternTwo等),而应采用一种drawPattern方法:

public void drawPattern(int index) {
    arrayWithPatterns[index].draw();
}

在您的Pattern类中,定义一个draw()方法,其中代码用于绘制该特定模式。