- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA之旅(三十一,二)
JAVA之旅(三十一)
一.GUI的概述
GUI全称叫做Graphical User Intergace(图形用户接口),用图形的方式,来显示计算机操作的界面,这样更加方便直观,与用户交互
说道交互,其实系统跟用户有两种交互,一种是GUI,一种叫做CLI,也就是命令行,全称叫做Command User Intergace,这个需要一些学习成本,倒是不怎么推荐,比如创建文件夹之类的,要是你用CLI那就有点麻烦了
回到JAVA,java中为GUI提供的对象都存在java.Awt和javax.Swing两个包中,这两个是什么意思呢?
java.Awt:abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能,属于重量级控件
javax.Swing:在Awt的基础上,建立的一套图形化界面系统。其中提供了更多的组件,而且完全由java实现,增强了移植性,属于轻量级控件
我们来看看大致的组件
二.GUI布局
我们来学习这些控件之前,我们要学习他的布局,这些组件应该按照什么样的样式排放,这就是布局,常见的布局管理器有以下这几种
FlowLayout(流式布局管理器)
从左往右的顺序排列
Panel默认的布局管理器
BorderLayout(边界布局管理器)
东南西北中
Frame默认的布局管理器
GridLayout(网格布局管理器)
规则的矩阵
CardLayout(卡片布局管理器)
选项卡
GridBagLayout(网格包布局管理器)
非规矩的矩阵
三.Frame
我们来玩一下这个布局
package com.lgl.hello;
import java.awt.Frame;
public class Test {
public static void main(String[] args) {
Frame f = new Frame(GUI);
//设置宽高
f.setSize(300, 200);
//设置显示位置
f.setLocation(720, 560);
//显示
f.setVisible(true);
}
}
运行的结果
紧接着,我们往里面放控件
package com.lgl.hello;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
public class Test {
public static void main(String[] args) {
//默认边界布局
Frame f = new Frame(GUI);
//设置布局管理器
f.setLayout(new FlowLayout());
//设置宽高
f.setSize(300, 200);
//设置显示位置
f.setLocation(720, 560);
//按钮
Button b = new Button(Button);
f.add(b);
//显示
f.setVisible(true);
}
}
运行的结果
既然如此,我们就给他设置点击事件了
四.GUI事件监听机制
我们怎么去监听他的事件?我们先来看下流程图
1.事件源
2.事件
3.监听器
4.事件处理
我们就直接看代码了,我们先监听这个窗体右上角的关闭按钮
// 窗体监听
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// 关闭窗口
System.exit(0);
}
});
五.Action事件
我们继续来看,我们先按传统的四位给写好布局
package com.lgl.hello;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.
文档评论(0)