我们回顾下第三篇时的内容:

在3.JAVA之GUI编程Frame窗口中窗体是无法直接关闭的,想要关闭须进程管理器结束进程方式关掉。

现在我们就来解决下这个问题。

***********************************************

功能实现如下几点:

1.建立一个窗口;

2.窗口有标题;

3.窗口大小设置;

4.窗口位置设置;

5.窗口可见。

6.添加一个带有文字标签的按钮;

7.窗体设置布局方式。

8.为窗口关闭事件监听器,实现关闭窗口功能。

 *****************************************************************************


我们要明确:

1.窗体是一个事件源;

2.在事件源上添加监听器并加上处理事件方法即可。

代码如下



import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; class studyframe { public static void main(String[] args) { Frame f = new Frame();//构造一个最初不可见的 Frame 新实例()。  f.setTitle("窗口——by星云");//设置窗口标题内容 f.setSize(500, 400);//设置窗口大小,宽度500,高度400 f.setLocation(300, 200);//设置窗口位置为距离屏幕左边水平方向300,上方垂直方向200 f.setVisible(true);//设置窗体可见。 f.setLayout(new FlowLayout());//设置窗体布局为流式布局。 f.addWindowListener(new MyWin());//在窗体事件源上添加监听器。 
 Button b=new Button("我是一个按钮");//在窗口中添加一个按钮; f.add(b);//将按钮添加到窗口内  } } /*如果用这种方法,就必须把这七个方法全部重写。 class MyWin implements WindowListener { 覆盖七个方法。可以我只用到了关闭的动作。 其他方法都没有用到,如果用这种方法,就必须把这七个方法全部重写。 } 因为WindowListener的子类WindowAdapter已经实现了WindowListener接口。 并覆盖了其中的所有方法。那么我只要继承自WindowAdapter覆盖我需要的方法即可。 */

//创建窗口监听器方法类继承WindowAdapter中的方法。 //下面是个窗口关闭监听器 class MyWin extends WindowAdapter{ public void windowClosing(WindowEvent e) { System.exit(0);//关闭窗口处理关闭动作监听事件  } }



注意:现在点击X就可以关闭窗口了。

运行代码:

action关闭 form java javagui关闭当前窗口_action关闭 form java

上面代码也可以这样写:



import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; class studyframe { public static void main(String[] args) { Frame f = new Frame();//构造一个最初不可见的 Frame 新实例()。  f.setTitle("窗口——by星云");//设置窗口标题内容 f.setSize(500, 400);//设置窗口大小,宽度500,高度400 f.setLocation(300, 200);//设置窗口位置为距离屏幕左边水平方向300,上方垂直方向200 f.setVisible(true);//设置窗体可见。 f.setLayout(new FlowLayout());//设置窗体布局为流式布局。 //在窗体事件源上添加带有处理事件的监听器。 f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0);//关闭窗口处理关闭动作监听事件  } }); Button b=new Button("我是一个按钮");//在窗口中添加一个按钮; f.add(b);//将按钮添加到窗口内  } }



************************************************************

参考文献:

action关闭 form java javagui关闭当前窗口_监听器_02

 

action关闭 form java javagui关闭当前窗口_监听器_03

 

action关闭 form java javagui关闭当前窗口_事件源_04

action关闭 form java javagui关闭当前窗口_action关闭 form java_05

 

action关闭 form java javagui关闭当前窗口_事件源_06

action关闭 form java javagui关闭当前窗口_action关闭 form java_07

action关闭 form java javagui关闭当前窗口_监听器_08

action关闭 form java javagui关闭当前窗口_java_09