Window事件

                   1、 Window事件:所对应的时间类为WindowEvent,所对应的事件监听接口为WindowListener、与WindowListener对应的适配器为WindowAdapter (TestWindowClose.java  \  TestAnonymous2.java)
import java.awt.*;
import java.awt.event.*;

public class TestWindowClose {
	public static void main(String args[]) {
		new MyFrame55("MyFrame");
	}
}

@SuppressWarnings("serial")
class MyFrame55 extends Frame {
	MyFrame55(String s) {
		super(s);
		setLayout(null);
		setBounds(300, 300, 400, 300);
		this.setBackground(new Color(204, 204, 255));
		setVisible(true);
		// this.addWindowListener(new MyWindowMonitor());
         //逻辑简单、代码少,且不经常变动,可以使用匿名类
		this.addWindowListener(new WindowAdapter() { //方法内的类,局部类,匿名类
			public void windowClosing(WindowEvent e) {//没有名字,把它当成WindowAdapter类来用
				setVisible(false);
				System.exit(-1);
			}
		});
	}
	/*
  class MyWindowMonitor extends WindowAdapter {  //内部类写法
  	public void windowClosing(WindowEvent e) {
  		setVisible(false);
  		System.exit(0);
  	}
  }
  */
}
/*	范例名称:匿名类在事件处理中的使用
 * 	源文件名称:TestAnonymous2.java
 *	要  点:
 *		1. 匿名类只能是内部类
 *		2. 匿名类的两种创建方式----既可以继承父类、也可以单重实现接口
 */

import java.awt.*;
import java.awt.event.*;

public class TestAnonymous2 {
	Frame f = new Frame("Test");  //
	TextField tf = new TextField(10);
	Button b1 = new Button("Start"); 
	
	public TestAnonymous2(){
		f.add(b1,"North"); //添加到北边,进行布局管理
		f.add(tf,"South"); 
		
		b1.addActionListener(new ActionListener(){  //匿名类
			private int i;
			public void actionPerformed(ActionEvent e) {  
			 	tf.setText(e.getActionCommand() + ++i);    
			}
		});
		
		f.addWindowListener(new WindowAdapter(){  //匿名类
			public void windowClosing(WindowEvent e){
				System.exit(0);	
			}	
		});
		
		f.pack();        	
		f.setVisible(true);		
	}	
	public static void main(String args[]) {
		new TestAnonymous2();
	}
}

你可能感兴趣的:(java,F#)