5.JAVA之GUI编程窗体事件
我们回顾下第三篇时的内容:
在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编程窗体事件的更多相关文章
- JAVA之GUI编程窗体事件
package GUI; import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;import java.awt ...
- 6.JAVA之GUI编程Action事件
功能:单击一个按钮实现关闭窗口: import java.awt.*; import java.awt.event.*; public class StudyAction { // 定义该图形所需的组 ...
- 7.JAVA之GUI编程鼠标事件
鼠标事件: 功能: 1.基本窗体功能实现 2.鼠标移动监听,当鼠标移动到按钮上时,触发打印事件. 3.按钮活动监听,当按钮活动时,触发打印事件. 4.按钮被单击时触发打印事件. 源码如下: impor ...
- JAVA之GUI编程ACTION事件
package GUI; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java. ...
- 4.JAVA之GUI编程事件监听机制
事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...
- 8.JAVA之GUI编程键盘码查询器
程序使用说明: 1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量. 2. 复制java代码到记事本内,另存为Keyboard_events.java: 3.复制批处理代码到记事本 ...
- 3.JAVA之GUI编程Frame窗口
创建图形化界面思路: 1.创建frame窗体: 2.对窗体进行基本设置: 比如大小.位置.布局 3.定义组件: 4.将组件通过add方法添加到窗体中: 5.让窗体显示,通过setVisible(tur ...
- 9.JAVA之GUI编程列出指定目录内容
代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import ...
- 10.JAVA之GUI编程弹出对话框Dialog
在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ import java.awt.Button; ...
随机推荐
- 几个有趣的WEB设备API(二)
浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...
- 获取Canvas当前坐标系矩阵
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...
- webapi - 模型验证
本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬 ...
- JavaScript 常量定义
相信同学们在看见这个标题的时候就一脸懵逼了,什么?JS能常量定义?别逗我好吗?确切的说,JS当中确实没有常量(ES6中好像有了常量定义的关键字),但是深入一下我们可以发现JS很多不为人知的性质,好好利 ...
- WebApi基于Token和签名的验证
最近一段时间在学习WebApi,涉及到验证部分的一些知识觉得自己并不是太懂,所以来博客园看了几篇博文,发现一篇讲的特别好的,读了几遍茅塞顿开(都闪开,我要装逼了),刚开始读有些地方不理解,所以想了很久 ...
- ES6之变量常量字符串数值
ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使 ...
- BPM生产安全管理解决方案分享
一.方案概述生产安全管理是企业生产管理的重要组成部分,组织实施好企业安全管理规划.指导.检查和决策,保证生产处于最佳安全状态是安全管理的重要内容和职责.H3 BPM企业生产安全管理解决方案是一套专门为 ...
- Android之解析XML
1.XML:可扩展标记语言. 可扩展标记语言是一种很像超文本标记语言的标记语言. 它的设计宗旨是传输数据,而不是显示数据. 它的标记没有被预定义.需要自行定义标签. 它被设计为具有自我描述性. 是W3 ...
- 信息安全-1:python之playfair密码算法详解[原创]
转发注明出处: http://www.cnblogs.com/0zcl/p/6105825.html 一.基本概念 古典密码是基于字符替换的密码.加密技术有:Caesar(恺撒)密码.Vigenere ...
- Lucene4.4.0 开发之排序
排序是对于全文检索来言是一个必不可少的功能,在实际运用中,排序功能能在某些时候给我们带来很大的方便,比如在淘宝,京东等一些电商网站我们可能通过排序来快速找到价格最便宜的商品,或者通过排序来找到评论数最 ...