2009-10-02 2 views
3

Привет Я создал два jdialog box. из первого окна jdialog я звоню во второй блок jdialog. Я разместил свой компонент в центре. Но когда я нажимаю на следующую кнопку, моя программа вызывает второй jdialog, но в течение этого периода (на долю секунды я обнаружил, что какой-то мерцающий эффект означает, что какой-то jdialog отображается в левой верхней части экрана, его доля за секунду. может быть мерцающим эффектом. так, как избежать этой проблемы.Как избежать мерцающего эффекта при переходе от одного jdialog к другому jdialog

Благодаря Сунил Кумар Sahoo

+0

[-1] - это, возможно, был интересный вопрос, но так, как это редактируется делает его невозможно читать. Пожалуйста, будьте немного уважаемы для людей, которых вы ожидаете от помощи ... – quosoo

+0

Я опубликовал полный код, но я не знаю, как он выглядит, как указано выше –

ответ

1

Вы, вероятно, увидеть второе диалоговое окно, прежде чем установить его местонахождение. Так что вместо того, чтобы делать:

dialog.setVisible(true); 
dialog.setLocationRelativeTo(null); 

сделать это:

dialog.setLocationRelativeTo(null); 
dialog.setVisible(true); 
1

Если один диалог открывается другой, это может сделать больше смысла использовать что-то вроде мастера вместо этого. Тогда вы избежите мерцает вообще, как вы изменили бы содержимое компонента единственного и единственного диалогового окна, которое вы покажете на экране.

Недостатком является то, что, конечно, это wil Я немного сложнее реализовать, но не много.

Следующая ссылка содержит информацию о создании мастера:

http://java.sun.com/developer/technicalArticles/GUI/swing/wizard/

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