class1.java

来自「矩阵乘法的计算程序」· Java 代码 · 共 52 行

JAVA
52
字号
import java.awt.*;
/*早期版本(JDK1.0)事件处理的第二种模型:
  自己不处理事件,交由容器统一处理
*/
public class Class1
{
	public static void main (String[] args)
	{
		MyFrame mywindow;
		MyButton myButton;
		TextField la=new TextField(30);
		mywindow=new MyFrame("Sub Button Test");
		myButton=new MyButton("sub button");
		mywindow.setLayout(new FlowLayout());
		mywindow.add(myButton);
		mywindow.add(la);
		mywindow.resize(200,100);//等价于window.setSize()
		mywindow.show();//等价于window.setVisible(true);
	}
}
//生成一个包含有事件处理程序的Button子类
class MyButton extends Button{
	MyButton(String label){
		super(label);
	}
	//事件处理程序,只能处理点击事件,arg为按钮的标题
/*	public boolean action(Event e,Object arg){
	 System.out.println(" Process by Button self:");
     System.out.println("Pressed Button:"+arg);
     return false;
	 //返回值为true,表示该事件处理到此为止,不再上传至Button的容器window
    }*/
}

class MyFrame extends Frame{
	MyFrame(String label){
		super(label);
	}
	//事件处理程序,只能处理点击事件,arg为按钮的标题
	public boolean action(Event e,Object arg){
		if(e.target instanceof MyButton)//instance:实例(对象)
		{  System.out.println(" Process by Container:");
           System.out.println("Button Pressed :"+arg);
		}
		if(e.target instanceof TextField)//instance:实例(对象)
		{  System.out.println(" Process by Container:");
           System.out.println("TextField Pressed :"+arg);
		}
     return true;
	 //返回值为true,表示该事件处理到此为止,不再上传至Button的容器window
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?