2012-06-09 2 views
0

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

+0

Это качели или приложение AWT? Можем ли мы увидеть код? –

ответ

1

Я предполагаю, что остальная часть приложения выполнена в Swing, и вы используете Popmu AWT в комбинации с компонентами Swing.

У меня была моя доля проблем с AWT PopMenu. Вам нужно показать Popmenu за пределами вашей заявки? Если вам нужно только показать его в своем приложении (JFrame), вы, вероятно, отключите его, просто разместив JComponent поверх всех ваших других панелей (с помощью JLayredPane) и нарисуйте свое собственное меню.

Еще проще использовать JLayer в Java 7 для такого же эффекта (или JXLayer, если вы не на Java 7, а на Java 5 или 6).

Вышеуказанный метод также является более мощным, чем AWT popmenu, потому что вы управляете рисунком. Так, например, делая его полупрозрачным или придавая ему круглые края, становится легким.

+0

Я использую только компонент AWT :) Не уверен, но вышеизложенное невозможно в AWT, правильно? – Mark

+0

Я не знаю; У меня никогда не было причины использовать AWT напрямую. Вы используете AWT + Java 2D для своей игры? Думаю, вы работаете с объектами Graphics2D, чтобы сделать чертеж? Не могли бы вы дать дополнительную информацию о том, что вы делаете? –

+0

Я использую объект Graphics для рисования непосредственно на (undecorated) фрейме – Mark

Смежные вопросы