Окно JFrame становится черным, когда я добавляю метод рисования - PullRequest
0 голосов
/ 02 мая 2018

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

public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
}

мое окно JFrame станет полностью черным при запуске моей программы. Если я удалю метод рисования из кода, мои обычные изображения появятся в моем окне JFrame. Я уверен, что я не использую метод .paint () где-либо еще в моем коде, потому что я только что добавил этот метод в свой код. Кто-нибудь знает, почему это происходит?

обновление, я использую eclipse

1 Ответ

0 голосов
/ 02 мая 2018

Начните с изучения Выполнение пользовательской живописи и Рисование в AWT и Swing , чтобы лучше понять, как рисование работает в Swing.

По сути, подсистема рисования вызывает ваш метод paint по мере необходимости, когда решает, что компонент необходимо обновить.

Поскольку вы переопределили его, чтобы ничего не делать, то ничего не нарисовано.

Как общий совет, вам следует избегать переопределения paint контейнеров верхнего уровня, таких как JFrame, потому что они на самом деле являются составными компонентами. То есть они фактически состоят из серии слоев, на которых построен пользовательский интерфейс

См. Как использовать корневые панели для получения более подробной информации, но в основном ...

All the layers

...