JAVASE----17----GUI
1,简介
首先上图
一段简单创建界面的代码:
package Awt; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; public class AwtDemo { /** 创建图形化界面: 1,创建frame窗体 2,对窗体进行基本设置,比如位置,大小,布局 3,定义组件 4,将组件通过窗体的add方法添加到窗体中 5,让窗体显示,通过setVisible(true) */ public static void main(String[] args) { Frame f=new Frame("my awt"); f.setSize(500,400); f.setLocation(300,200); //窗体弹出位置 f.setLayout(new FlowLayout()); Button b=new Button("按钮"); f.add(b); f.setVisible(true); } }
结果:
2,事件监听机制
事件监听机制的特点:
1,事件源。
2,事件。
3,监听器。
4,事件处理。
事件源: 就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作(不止一个动作)都已封装进了监听器中。
以上三者,在java中都已经定义好了,直接获取其对象来用就可以了。
我们要做的事情是,就是对产生的动作进行处理。
窗体监控,对窗体的X按钮进行关闭事件处理
public static void main(String[] args) { Frame f=new Frame("my awt"); f.setSize(500,400); f.setLocation(300,200); //窗体弹出位置 f.setLayout(new FlowLayout()); Button b=new Button("按钮"); f.add(b); //这里直接写匿名内部类,即MyWin f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } }); f.setVisible(true); } // class MyWin implements WindowListener // { // //需要覆盖7个方法,可是只用到了关闭动作。其他动作没用到,但是必须复写 // } //因为WindowListener的子类WindowAdapter已经实现了WindowListener接口。 //并覆盖了其中所有方法,那么只需要继承WindowAdapter 覆盖需要的方法即可。 class MyWin extends WindowAdapter { @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } } }
点击窗体上的X后,程序会退出