Java swing: Remanence при удалении тяжелого компонента jogl для добавления легкого компонента в одном месте

В моем приложении Swing, когда я удаляю jogl GLCanvas из моего основного компонента, чтобы добавить jPanel в то же место, есть некоторые глюки дисплея: В то время, когда старый компонент был удален, и до того, как был добавлен новый, оставшиеся изображения всех всплывающих меню, которые отображались ранее в верхней части GLCanvas , видны на фоне основной компонент.

Как я могу избежать этого?

4 голоса | спросил jumar 23 FebruaryEurope/MoscowbWed, 23 Feb 2011 19:02:52 +0300000000pmWed, 23 Feb 2011 19:02:52 +030011 2011, 19:02:52

1 ответ


0

При добавлении /удалении компонентов из видимого графического интерфейса код должен выглядеть следующим образом:

panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();

Кроме того, код должен выполняться в потоке рассылки событий . Если код выполняется из слушателя, то он находится на EDT. Если код выполняется вне слушателя, то вам, вероятно, нужно использовать SwingWorker или SwingUtilities.invokeLater ().

ответил camickr 23 FebruaryEurope/MoscowbWed, 23 Feb 2011 19:04:49 +0300000000pmWed, 23 Feb 2011 19:04:49 +030011 2011, 19:04:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132