Попытка очистить холст для программы - PullRequest
0 голосов
/ 26 октября 2018

Я использую библиотеку ObjectDraw, и у меня есть два метода, которые печатают два разных шаблона.Я использую метод onMouseClick(Location point) для печати первого шаблона, когда пользователь нажимает на холст в первый раз, а затем я хочу очистить холст с помощью canvas.clear();, прежде чем печатать второй шаблон при втором щелчке (и т. Д.).

У меня проблемы с поиском способа избежать всего происходящего одновременно в методе.Я пытался использовать логическую переменную, но я планирую создать больше шаблонных методов, поэтому я не уверен в этой стратегии.Любая помощь?

Вот так выглядит мой onMouseClick(Location point) метод в программе:

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

1 Ответ

0 голосов
/ 27 октября 2018

Я бы сохранил все шаблоны в массиве или списке и использовал бы переменную int, чтобы отслеживать количество нажатий и, следовательно, какой рисунок рисовать. Затем, вместо нескольких методов для рисования вашего паттерна (patternOne, patternTwo и т. Д.), Создайте один drawPattern метод:

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

В вашем классе Pattern определите метод draw(), где код должен рисовать этот конкретный шаблон.

...