Пользовательский рисунок JPanel с использованием графики

У меня есть настраиваемая панель JPanel, и иногда в моей программе мне нужно вызвать метод, который закрашивает экран черным, вот и все.

public void clearScreen() {
    Graphics g = getGraphics();
    g.setColor(Color.black);
    g.fillRect(0,0,getWidth(),getHeight());
}

Когда я запускаю программу, я вызываю этот метод.

] Однако я считаю, что иногда это работает, а иногда нет. Это очень странно. Я также узнал, что когда это не работает, графический объект НЕ имеет значение null, а ширина и высота также определены правильно (из getWidth () и getHeight ()).

Почему это иногда работает, а иногда нет работают?

Как правильно создать собственный рисунок на JPanel в какой-то момент программы? Правильно ли использовать getGraphics (), как я это делаю? В моем JPanel (в какой-то момент) есть JComponents, но позже я удаляю эти JComponents и делаю пользовательский графический рисунок. Почему это иногда только работает?

5
задан CodeGuy 16 August 2011 в 16:09
поделиться