Вы не говорите, что делает ваш jbutton, поэтому я предполагаю, что вы повторно инициализируете свой рисованный объект, когда загружаете новый объект. По моему опыту, это только добавляет новый нарисованный объект на ваш холст. Я бы предпочел просто изменить то, что нарисовано.но если нет, вот как закрыть текущее рисование / холст:
try {
canvas.getContext().makeCurrent();
canvas.getContext().release();
canvas.getContext().destroy();
drawable.getContext().makeCurrent();
drawable.getContext().release();
drawable.getContext().destroy();
} catch (GLException releaseFailure) {
releaseFailure.printStackTrace();
}
и затем повторно инициализировать их при добавлении нового объекта ..