« 2010年8月 | トップページ | 2010年10月 »

2010年9月

2010年9月21日 (火)

monsiaj のウインドウちらつき改善

monsiaj を 20100901 にアップデートしたところ,ダイアログが出るときにちらつくようになった。ダイアログが表示される際に,一瞬左上に表示されるため,ちらついて見える。

Monsia1

Monsia2

このようにちらっと一瞬左上に出てから その後,所定の位置に表示される。

 

気にしなければいいのだが,どうも気になる。原因は,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;
}

« 2010年8月 | トップページ | 2010年10月 »