Frame如何实现关闭窗口

分三种情况来说明:
   1. 用户类继承自Frame;
   2. Frame对象作为用户类的数据成员;

   3. 用户类继承自WindowAdapter.

1. 用户类继承自Frame:
代码如下:

[java]  view plain  copy
  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. public  class MyFrame extends  Frame{  
  4.     public void display(){  
  5.     this.setTitle("MyFrame");  
  6.     this.setSize(480,200);  
  7.     this.setLocation (200,400);  
  8.     this.setBackground (Color.lightGray);  
  9.    this.setVisible(true);  
  10. }  
  11.   
  12. public static void main (String args[]){  
  13.     MyFrame f = new MyFrame();  
  14.     f.addWindowListener(new WindowAdapter(){  
  15.     public void windowClosing(WindowEvent e){  
  16.         System.exit(0);  
  17.     }  
  18.     });  
  19.     f.display();  
  20.     }  
  21. }  

2. Frame对象作为用户类的数据成员:

代码如下:

[java]  view plain  copy
  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. public   class MyFrame2{  
  4.      Frame f = new Frame();  
  5.      MyFrame2(){  
  6.          f.addWindowListener(new WindowAdapter(){//为了关闭窗口  
  7.          public void windowClosing(WindowEvent e){  
  8.              System.exit(0);  
  9.          }  
  10.       });  
  11.      }//注意为一个构造函数  
  12.   
  13.      public void display(){  
  14.          f.setTitle("MyFrame");  
  15.          f.setSize(480,200);  
  16.          f.setLocation (200,400);  
  17.          f.setBackground (Color.lightGray);  
  18.          f.setVisible(true);  
  19.      }  
  20.   
  21.      public static void main (String args[])  
  22.      {  
  23.          new MyFrame2().display();  
  24.      }  
  25. }  

3. 用户类继承自WindowAdapter,而窗口对象Frame作为用户类的数据成员.

代码如下:

[java]  view plain  copy
  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. public   class MyFrame3 extends WindowAdapter{  
  4.     Frame f = new Frame();  
  5.     public void display(){  
  6.         f.setTitle("MyFrame");  
  7.         f.setSize(480,200);  
  8.         f.setLocation (200,400);  
  9.         f.setBackground (Color.lightGray);  
  10.         f.addWindowListener (this);  //窗体f--注册窗体事件监听器  
  11.         f.setVisible(true);  
  12.     }  
  13.     public void windowClosing(WindowEvent e){  
  14.         System.exit(0);  
  15.     }  
  16.   
  17.     public static void main (String args[]){  
  18.         new MyFrame3().display();  
  19.     }  
  20. }  

自己的代码:

红色是实现关闭Frame窗口的代码

public class PanelTest1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Frame frame=new Frame("测试程序");
		frame.setVisible(true);
		frame.setBounds(30, 30, 300, 300);
		Panel p=new Panel();
		p.add(new TextField(30));
		p.add(new Button("OK"));
		p.setBackground(Color.yellow);
		frame.add(p);
		
		frame.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
	}

}

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值