- ●Java の Frame
- ブロッキングされない
- Frame.show()の数だけタスクバーに出る
- ●Java の Dialog
- ブロッキングする
- アイコン化されない、タスクバーに出ない
●ノーマルフレーム
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 );
}
}