图形用户界面(GUI)事件监听机制——窗体事件Frame

窗体事件、Button的使用

     本事例给出一个窗体的定义方法,基本属性设置,给窗体添加退出按钮,让按钮具备退出的功能。熟悉监听器的使用

按钮就是事件源。
那么选择哪一个监听器呢?
通过关闭窗体事例了解到,想要知道那个组件具备什么样的特有监听器,
需要查看该组件对象的功能。
通过查阅button的描述,发现按钮支持一个特有监听addActionListener
(适配器的作用是为了创建对象,例如:WindowAdaptter,但按钮没有,因为只有一个方法)

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


class  FrameDemo
{
	//定义该图形所带的组建的引用
	private Frame f;
	private Button btn;

	FrameDemo()
	{
		init();
	}

	public void init()
	{
		f=new Frame("My frame");

		//对frame进行基本设置
		f.setBounds(300,100,600,500);
		f.setLayout(new FlowLayout());//流式布局管理

		btn=new Button("my button");//初始化button
		
		//加载一下窗体事件
		myEvent();

		//将组件添加到窗体中
		f.add(btn);
		
		//显示窗体
		f.setVisible(true);

	}

	private void myEvent()
	{
		f.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});

		//给窗体添加退出按钮,让按钮具备退出的功能
		/*
			按钮就是事件源。
			那么选择哪一个监听器呢?
			通过关闭窗体事例了解到,想要知道那个组件具备什么样的特有监听器,
			需要查看该组件对象的功能。
			通过查阅button的描述,发现按钮支持一个特有监听addActionListener
			(适配器的作用是为了创建对象,例如:WindowAdaptter,但按钮没有,因为只有一个方法)
		*/
		btn.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.out.println("退出,按钮干的");
				System.exit(0);
			}
		});

	}
	public static void main(String[] args) 
	{
		new FrameDemo();
	}
}


原文地址:https://www.cnblogs.com/xiangyangzhu/p/4239781.html