« Sasser 検知・駆除ツール | メイン | ノンコン向けIT情報 »

Tips

ウィザード

●Java の Frame
ブロッキングされない
Frame.show()の数だけタスクバーに出る
●Java の Dialog
ブロッキングする
アイコン化されない、タスクバーに出ない
swing の JDialog を使わないで、ウィザード形式のGUIアプリケーション実現の試み。

●ノーマルフレーム

public class Wizard
{
public static void main( String argv[] )
{
final java.awt.Frame frame1 = new java.awt.Frame( "No.1" );
frame1.addWindowListener(
new java.awt.event.WindowAdapter(){
public void windowClosing( java.awt.event.WindowEvent we ){
frame1.dispose();
}
}
);
final java.awt.Frame frame2 = new java.awt.Frame( "No.2" );
frame2.addWindowListener(
new java.awt.event.WindowAdapter(){
public void windowClosing( java.awt.event.WindowEvent we ){
frame2.dispose();
}
}
);
frame1.show();
frame2.show();
}
}

●ブロックするフレーム
public class Wizard
{
public static void main( String argv[] )
{
final java.awt.Frame frame1 = new java.awt.Frame( "No.1" );
frame1.addWindowListener(
new java.awt.event.WindowAdapter(){
public void windowClosing( java.awt.event.WindowEvent we ){
synchronized( frame1 ){ frame1.notify(); }
frame1.dispose();
}
}
);
final java.awt.Frame frame2 = new java.awt.Frame( "No.2" );
frame2.addWindowListener(
new java.awt.event.WindowAdapter(){
public void windowClosing( java.awt.event.WindowEvent we ){
synchronized( frame2 ){ frame2.notify(); }
frame2.dispose();
}
}
);
frame1.show();
synchronized( frame1 ){ try{ frame1.wait(); }catch( Exception e ){} }
frame2.show();
synchronized( frame2 ){ try{ frame2.wait(); }catch( Exception e ){} }
System.exit( 0 );
}
}

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/394

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)