JDialog
移動してサイズを変更したい を作成しました。私のプログラムJDialog
は画面に描画します。ユーザーがクリックすると、画面の幅まで伸びてから高さが増します。こんな感じでやってみました。
for(int i = 150; i <= width; i += 3) {
dialog.setSize(i, 80);
try {
Thread.sleep(0, 1);
} catch(Exception e2) {}
}
for(int i = 80; i <= 200; i++) {
dialog.setSize(width, i);
try {
Thread.sleep(1);
} catch(Exception e3) {}
}
コードが実行されると、しばらく時間がかかり、JDialog がすぐに引き伸ばされて表示されます。展開は表示されません。
ユーザーがダイアログをもう一度クリックすると、開くアニメーションが逆になり、閉じます。
for(int i = 200; i >= 80; i--) {
newMsg.setSize(width, i);
try {
Thread.sleep(0, 1);
} catch(Exception e4) {}
}
for(int i = 0; i >= -width; i -= 3) {
newMsg.setLocation(i, 100);
try {
Thread.sleep(0, 1);
} catch(Exception e5) {}
}
これは正しく動作します。動きが見られます。私が理解している限り、これらのコードは逆になっていることを除けば同じです。オープニングは期待どおりに動作しないのに、クロージングは動作するのはなぜですか?