JFrame是主窗口,它和JDialog,JApplet的地位并列.但是,一个JFrame可以添加JDialog和JApplet进去它的内容面板,而反过来就不行
package blog.swing;
import javax.swing.*;
import java.awt.event.*;
class JFrameDemo
{
JFrame a;
public JFrameDemo() {
a = new JFrame ( "JFrameDemo Title" ); //创建一个JFrame
a.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); //设置关闭动作
a.setSize( 300,300 ); //设置窗口大小
a.setLocationRelativeTo(null); //使窗口显示在屏幕中央
a.addWindowListener( new WindowListener(){
public void windowOpened( WindowEvent e ){ System.out.println( "window opened" ); }
public void windowClosing( WindowEvent e ){ System.out.println( "window closing" ); }
public void windowClosed( WindowEvent e ){ System.out.println( "window closed" ); }
public void windowIconified( WindowEvent e ){ System.out.println( "window iconified" ); }
public void windowDeiconified( WindowEvent e ){ System.out.println( "window deiconified" ); }
public void windowActivated( WindowEvent e ){ System.out.println( "window activated" ); }
public void windowDeactivated( WindowEvent e ){ System.out.println( "window deactivated" ); }
});
a.addWindowFocusListener( new WindowFocusListener(){
public void windowGainedFocus( WindowEvent e ){ System.out.println( "gained focus" ); }
public void windowLostFocus( WindowEvent e ){ System.out.println( "lost focus" ); }
});
a.addWindowStateListener( new WindowStateListener(){
public void windowStateChanged( WindowEvent e ){ System.out.println( "state changed" ); }
});
a.setVisible( true );
}
public static void main(String[] args)
{
new JFrameDemo();
}
}