Почему при замене внутренней панели возникает мерцание?
Вопрос
Просто небольшая проблема.В настоящее время я пишу Java-проект для Dell Axim X51 с установленным J9.Проблема связана с моим интерфейсом, для разных экранов я просто меняю вложенную панель местами (обратите внимание, что она работает под управлением 1.4 и БЕЗ swing), поэтому удалите (panel) - добавьте (newPanel).Проблема в том, что когда он меняет местами панели, время, затраченное на это, становится видимым и мерцает.
Я предполагаю, что это обычная проблема обновления / буферизации, но я попробовал переопределить paint и update, так что у меня закончились идеи.Также, если кому-то особенно не нравится этот метод навигации (замена панелей внутри фрейма), можете ли вы предложить лучший способ сделать это?
Решение
Вероятно, вам нужно реализовать двойную буферизацию:
Двойной буфер в стандартном Java AWT
В качестве альтернативы, когда вы "меняете местами" старую панель на новую, сначала сделайте новую панель скрытой, а затем сделайте ее видимой только после того, как она будет добавлена () в родительский контейнер.