Удаление JPanel из JFrame - PullRequest
0 голосов
/ 05 мая 2009

В настоящее время я работаю над заставкой для игры, разработанной с использованием JOGL. Я хочу, чтобы вступление было JPanel с несколькими кнопками для изменения параметров перед началом игры.

Итак, у меня есть JFrame, к которому я добавляю GLCanvas. GLCanvas также содержит GLEventListener. Наконец, я добавляю JPanel.

Я переопределил метод JPanel paintComponent, чтобы установить фоновое изображение. У меня есть несколько кнопок на панели. Всякий раз, когда вы нажимаете кнопку воспроизведения, она вызывает функцию, которая выполняет:

frame.remove (JPanel); frame.repaint (); animator.start ();

Что происходит, так это то, что мой JPanel корректно отключается, но когда вызывается перекраска, моя рамка просто заполняется серым. Я знаю, что аниматор запускается правильно, так как вызывается метод отображения в моем GLEventListener.

Кто-нибудь знает, в чем проблема?

1 Ответ

2 голосов
/ 05 мая 2009

Какой у вас LayoutManager? Если вы не указали его, добавив JPanel, вы замените GLCanvas.

Я бы заставил ваш код сделать это:
frame.remove (JPanel); frame.add (glcanvas); animator.start ();
вам может понадобиться добавить frame.revalidate (). Я не знаю, как все это работает прямо сейчас.

...