Почему при замене внутренней панели возникает мерцание?

StackOverflow https://stackoverflow.com/questions/633201

  •  08-07-2019
  •  | 
  •  

Вопрос

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

Я предполагаю, что это обычная проблема обновления / буферизации, но я попробовал переопределить paint и update, так что у меня закончились идеи.Также, если кому-то особенно не нравится этот метод навигации (замена панелей внутри фрейма), можете ли вы предложить лучший способ сделать это?

Это было полезно?

Решение

Вероятно, вам нужно реализовать двойную буферизацию:

Двойной буфер в стандартном Java AWT

В качестве альтернативы, когда вы "меняете местами" старую панель на новую, сначала сделайте новую панель скрытой, а затем сделайте ее видимой только после того, как она будет добавлена () в родительский контейнер.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top