没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
9.1
9.1
图形用户界面
图形用户界面
(GUI)
(GUI)
设计概
设计概
述
述
9.1.1 GUI
9.1.1 GUI
支持包和简单
支持包和简单
GUI
GUI
程序例
程序例
1.java.awt
1.java.awt
包
包
Java
Java
语言在
语言在
java.awt
java.awt
包中提供了大量地进行
包中提供了大量地进行
GUI
GUI
设计所使用的类和接口,包括绘制图形、设
设计所使用的类和接口,包括绘制图形、设
置 字 体 和 颜 色 、 控 制 组 件 、 处 理 事 件 等 内
置 字 体 和 颜 色 、 控 制 组 件 、 处 理 事 件 等 内
容,
容,
AWT
AWT
是
是
Java
Java
语言进行
语言进行
GUI
GUI
程序设计的基
程序设计的基
础。
础。
2. javax.swing
2. javax.swing
包
包
Swing
Swing
包是
包是
Java
Java
基础类库(
基础类库(
Java Foundation
Java Foundation
Classes
Classes
,
,
JFC
JFC
)的一部分。
)的一部分。
Swing
Swing
提供了从
提供了从
按钮到可分拆面板和表格的所有组件。
按钮到可分拆面板和表格的所有组件。
Swing
Swing
组件是
组件是
Java
Java
语言提供的第二代
语言提供的第二代
GUI
GUI
设计工具
设计工具
包,它以
包,它以
AWT
AWT
为基础,在
为基础,在
AWT
AWT
内容的基础上新增或改
内容的基础上新增或改
进了一些
进了一些
GUI
GUI
组件,使得
组件,使得
GUI
GUI
程序功能更强大,设计更
程序功能更强大,设计更
容易、更方便。
容易、更方便。
"Swing"
"Swing"
是开发新组件的项目代码名,
是开发新组件的项目代码名,
现在,这个名字常用来引用新组件和相关的
现在,这个名字常用来引用新组件和相关的
API
API
。
。
AWT
AWT
组件和对应的
组件和对应的
Swing
Swing
组件,从名称上很容易记忆
组件,从名称上很容易记忆
和区别。例如,
和区别。例如,
AWT
AWT
的框架类、面板类、按钮类和菜单
的框架类、面板类、按钮类和菜单
类,被命名为
类,被命名为
Frame
Frame
、
、
Panel
Panel
、
、
Button
Button
和
和
Menu
Menu
,
,
而
而
Swing
Swing
对 应 的 组 件 类 被 命 名 为
对 应 的 组 件 类 被 命 名 为
JFrame
JFrame
、
、
JPanel
JPanel
、
、
JButton
JButton
和
和
JMenu
JMenu
。与
。与
AWT
AWT
组件
组件
相 比 ,
相 比 ,
Swing
Swing
“组 件 的 名 前 多 一 个
“组 件 的 名 前 多 一 个
J”
J”
字 母 。 另
字 母 。 另
外,
外,
AWT
AWT
组件在
组件在
java.awt
java.awt
包中
包中
,
,
而
而
Swing
Swing
组件在
组件在
javax.swing
javax.swing
包中。
包中。
3.
3.
一个
一个
Java GUI
Java GUI
简单程序
简单程序
【例
【例
9.1
9.1
】一个简单的
】一个简单的
Swing GUI
Swing GUI
应用程序。在一个框
应用程序。在一个框
架窗口中显示两个标签和一个按钮:上面的标签显示一串
架窗口中显示两个标签和一个按钮:上面的标签显示一串
固定的文字信息,选择按钮后在下面的标签上显示系统现
固定的文字信息,选择按钮后在下面的标签上显示系统现
在的时间。
在的时间。
import java.awt.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.*;
import java.util.*;
import java.util.*;
//
//
继承
继承
JFrame
JFrame
类并实现
类并实现
ActionListener
ActionListener
接口
接口
public class SwingDemo extends JFrame
public class SwingDemo extends JFrame
implements
implements
ActionListener{
ActionListener{
JButton b1; //
JButton b1; //
声明按钮对象
声明按钮对象
JLabel l1,l2; //
JLabel l1,l2; //
声明标签对象
声明标签对象
SwingDemo(){ //
SwingDemo(){ //
定义构造方法
定义构造方法
super("Swing
super("Swing
应用程序的例
应用程序的例
");//
");//
调用父类的构造方法
调用父类的构造方法
l1=new JLabel("
l1=new JLabel("
一个
一个
GUI
GUI
应用程序的例子
应用程序的例子
",
",
JLabel.CENTER); //
JLabel.CENTER); //
定义标签,文字居中
定义标签,文字居中
l2=new JLabel(" "); //
l2=new JLabel(" "); //
定义无文字标签
定义无文字标签
b1=new JButton("
b1=new JButton("
现在时间
现在时间
[T]");//
[T]");//
定义按钮
定义按钮
b1.setMnemonic(KeyEvent.VK_T);//
b1.setMnemonic(KeyEvent.VK_T);//
设置按钮的
设置按钮的
快捷键
快捷键
b1.setActionCommand("time"); //
b1.setActionCommand("time"); //
设置控制名
设置控制名
b1.addActionListener(this); //
b1.addActionListener(this); //
注册按钮事件
注册按钮事件
add(l1,BorderLayout.NORTH); //
add(l1,BorderLayout.NORTH); //
添加标签
添加标签
l1
l1
add(l2,BorderLayout.CENTER); //
add(l2,BorderLayout.CENTER); //
添加标签
添加标签
l2
l2
add(b1,BorderLayout.SOUTH); //
add(b1,BorderLayout.SOUTH); //
添加标签
添加标签
b1
b1
}
}
//
//
对按钮引发事件编程
对按钮引发事件编程
public void actionPerformed(ActionEvent e){
public void actionPerformed(ActionEvent e){
//
//
捕获按钮事件
捕获按钮事件
Calendar c1 = Calendar.getInstance();
Calendar c1 = Calendar.getInstance();
//
//
获取系统日期和事件
获取系统日期和事件
if(e.getActionCommand().equals("time")){
if(e.getActionCommand().equals("time")){
//
//
判断是否为所需的按钮事件
判断是否为所需的按钮事件
l2.setText(“
l2.setText(“
”现在时间是
”现在时间是
+
+
c1.get(Calendar.HOUR_OF_DAY)
c1.get(Calendar.HOUR_OF_DAY)
+“
+“
”时
”时
+c1.get(Calendar.MINUTE)+“
+c1.get(Calendar.MINUTE)+“
”分
”分
);
);
//
//
设置标签文字
设置标签文字
l2.setHorizontalAlignment(JLabel.CENTER);
l2.setHorizontalAlignment(JLabel.CENTER);
//
//
设置标签标签文字居中对齐
设置标签标签文字居中对齐
剩余63页未读,继续阅读
yang0805020525
- 粉丝: 3
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页