java 中编写 GUI 有两中工具包,分别为 AWT、Swing。
Swing 是 AWT 的拓展,Swing 具有比 AWT 丰富的组件和方法。
AWT 和 Swing 都能跨平台使用;AWT 会随着不同的系统平台,UI 样式会有所变化,Swing 则不会,设计完毕后在所有平台下样式一致。
下面是一个窗口示例
创建一个窗口,要继承 ,同时会继承 Frame 中的一些方法;
Frame 中:
- super 方法可以设置窗口标题;
- setSize 设置窗口大小,
- setVisible 设置是否显示窗口,true 显示,false 隐藏
我们来向窗口添加组件
在 main 方法中启动窗口
效果
java 中,事件分为三个方面描述,
事件源:发生事件的对象
事件处理:委托事件处理模型
事件监听者:负责处理事件
首先B监听A,设置监听的内容,并设置响应内容。
一旦A本身的状态改变,就触发C;
C执行D
妈妈跟儿子说,你作业做完了,妈妈就让爸爸就给你削个苹果吃。
妈妈:事件监控者
儿子:事件源
动作:做完作业
事件:爸爸削个苹果给儿子
简单来说 B 告诉 A ,如果 A 怎么样了,就去做一件事情C。
我们继续利用上面的窗口,实现按钮点击时,改变窗口背景颜色。
引入
实现接口
另外, actionEvent ,有两个常用方法
AWT 中,主要有 6 中布局方式。
- FlowLayout 流式布局
默认布局,控件从上到下,从左到右地排序。 - BorderLayout 边缘布局
自动停靠窗体边缘,并且长宽随着窗体的变化。
- GridLayout 网格布局
将容器分成若干行和若干列。 - CradLayout 卡片布局
像扑克牌一样,每张牌是一个控件,多个控件叠加起来,每次只能查看一个。 - GridBagLayout 网格块布局
- null 采用坐标定位布局
创建一个窗体,并设置流式布局
继承 Frame 的窗体中,使用 setLayout方法 可以设置布局。
如图是 GUI 控件中常用的控件关系继承图。
Component 是所有组件的父类,Component 常用方法如下
文本
文本框(TextField)只能显示一行文本,文本域(TextArea)则可以显示、编辑多行文字。
文本框的构造函数如下
文本域的构造函数如下
文本控件的常用方法有
文本域(TextArea)中,还具有以下两个常用方法
文本框有两个常用事件
ActionEvent事件
在文本框按回车键时引发
注册: 接口:
方法:
TextEvent事件
对文本输入部件数据更改操作 (添加、修改、删除)
注册:
接口:
方法:
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/17455.html