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

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就可以关闭窗口了。

运行代码:

上面代码也可以这样写:

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);//将按钮添加到窗口内
} }

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

参考文献:

上篇:4.JAVA之GUI编程事件监听机制  下篇:6.JAVA之GUI编程Action事件

5.JAVA之GUI编程窗体事件的更多相关文章

  1. JAVA之GUI编程窗体事件

    package GUI; import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;import java.awt ...

  2. 6.JAVA之GUI编程Action事件

    功能:单击一个按钮实现关闭窗口: import java.awt.*; import java.awt.event.*; public class StudyAction { // 定义该图形所需的组 ...

  3. 7.JAVA之GUI编程鼠标事件

    鼠标事件: 功能: 1.基本窗体功能实现 2.鼠标移动监听,当鼠标移动到按钮上时,触发打印事件. 3.按钮活动监听,当按钮活动时,触发打印事件. 4.按钮被单击时触发打印事件. 源码如下: impor ...

  4. JAVA之GUI编程ACTION事件

    package GUI; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java. ...

  5. 4.JAVA之GUI编程事件监听机制

    事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...

  6. 8.JAVA之GUI编程键盘码查询器

    程序使用说明: 1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量. 2. 复制java代码到记事本内,另存为Keyboard_events.java: 3.复制批处理代码到记事本 ...

  7. 3.JAVA之GUI编程Frame窗口

    创建图形化界面思路: 1.创建frame窗体: 2.对窗体进行基本设置: 比如大小.位置.布局 3.定义组件: 4.将组件通过add方法添加到窗体中: 5.让窗体显示,通过setVisible(tur ...

  8. 9.JAVA之GUI编程列出指定目录内容

    代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import ...

  9. 10.JAVA之GUI编程弹出对话框Dialog

    在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ import java.awt.Button; ...

随机推荐

  1. StringMVC 中如何做数据校验

    步骤一:引入四个jar包 步骤二:注册类型转换器 <context:component-scan base-package="cn.happy.controller"> ...

  2. $.extend()的实现源码 --(源码学习1)

    目标: $.extend({         add:function(a,b){             return a + b;         }     }) console.log($.a ...

  3. 深入理解 Java G1 垃圾收集器--转

    原文地址:http://blog.jobbole.com/109170/?utm_source=hao.jobbole.com&utm_medium=relatedArticle 本文首先简单 ...

  4. 【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案

    相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studi ...

  5. MySQL常用命令

    数据库登陆命令: mysql -uroot -p 2.提示输入密码: 3.登陆成功: 4.数据库修改相关命令: 修改数据库的编码格式: 语法格式为:ALTER {DATABASE|SCHEMA}  [ ...

  6. [Hadoop in Action] 第6章 编程实践

    Hadoop程序开发的独门绝技 在本地,伪分布和全分布模式下调试程序 程序输出的完整性检查和回归测试 日志和监控 性能调优   1.开发MapReduce程序   [本地模式]        本地模式 ...

  7. AutoMapper(一)

    返回总目录 映射前后操作 偶尔有时候,在映射发生之前或之后,你可能需要执行一些自定义的逻辑.这可能是很少见的事情,因为在AutoMapper之外处理这些事情是更明显的.你可以创建一个映射前后的全局操作 ...

  8. 新手如何在gdb中存活

    网络上已经有很多gdb调试的文章了,为什么我还要写这篇文章呢,因为本文是写给gdb新手的,目的就是通过一个简单的例子来让新手很快上手.一旦上手入门了,其他的问题就可以自己去搜索搞定了.右边是gdb的L ...

  9. PropertyGrid控件由浅入深(一):文章大纲

    Winform中PropertyGrid控件是一个非常好用的对象属性编辑工具,对于Key-Value形式的数据的处理也是非常的好用. 因为Property控件设计良好,在很小的空间内可以展示很多的内容 ...

  10. Android,适合Restful网络请求封装

    借助volley.Gson类库. 优点 网络请求集中处理,返回值直接为预期的对象,不需要手动反序列,提高效率,使用时建立好model类即可. 使用效果 DataProess.Request(true, ...