2009-03-11 6 views
1

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

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

ответ

1

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

Double buffer in standard Java AWT

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

+0

Отсортировано, установлено видимым ПОСЛЕ добавления. Приветствия :) – user64392