monsiaj のウインドウちらつき改善
monsiaj を 20100901 にアップデートしたところ,ダイアログが出るときにちらつくようになった。ダイアログが表示される際に,一瞬左上に表示されるため,ちらついて見える。
| このようにちらっと一瞬左上に出てから | その後,所定の位置に表示される。 |
気にしなければいいのだが,どうも気になる。原因は,org/montsuqi/client/Protocol.java で,showWindow する際に,window.createDialog でダイアログを表示してから setLocation しているためであった。どうせ setLocation した後に dialog.setVisible(true) があるので,createDialog の時点ではダイアログを表示しなくてもいい。そこで,org/montsuqi/widgets/Window.java の createDialog で dialog.setVisible(true) を削除した。
org/montsuqi/widgets/Window.java
public JDialog createDialog(Component parent) {
・
・
dialog.setTitle(this.getTitle());
if (!dialog.isEnabled())dialog.setEnabled(true);
// ウインドウのちらつきを防ぐ
// if (!dialog.isVisible())dialog.setVisible(true);
if (!child.isEnabled())child.setEnabled(true);
if (!child.isVisible())child.setVisible(true);
return dialog;
}




