GUI

GUI : 直观的图形用户界面 Graphics User Interface

用户通过鼠标拖动.单击即可操作整个应用
--> JDK1.0发布时,Sun提供基本的GUI类库 ==> AWT(Abstract Window Toolkit)
--> 它为java应用程序提供了基本的图形组件
--> AWT是窗口框架,JVM调用操作系统本地的图形界面来创建和平台一致的对等体

问题:
1.界面丑陋,功能有限
2.不能使用特定操作系统上复杂的图形界面组件,组多只能使用四种字体
3.模式非面向对象

--> Swing全面替代AWT组件

容器Container是Component的子类,因此容器本身也是个组件,具有组件的所有性质
setLocation(int x,int y) --> 设置组件的位置
setSize(int width,int height) --> 设置组件的大小
setBounds(int x,int y,int width,int height) --> 同时设置组件的位置和大小
setVisible(Boolean b) --> 设置该组件的可见性

Component add(Component comp) 向容器添加其他组件,并返回被添加的组件
Cpmponent getComponentAt(int x , int y) 返回指定的组件
int getComponentCount() 返回该容器内的所有组件
AWT提供两种主要的容器类型
Window 可独立存在的顶级窗口
Panel 可作为容器容纳其他组件,但不能独立存在,必须添加到其他容器中
Frame 对象由标题,允许通过拖拉来改变窗口位置/大小
--> 初始化时候不可见,可用setVisible使其显示出来
--> 默认使用BorderLayout作为其布局管理器

Frame f = new Frame ( " 测试窗口 " ) ;
f . setBounds ( 30 , 30 , 250 , 200 ) ;
f . setVisible ( true ) ;
Panel 是AWT中另一个典型的容器,它代表不能独立存在.必须放在其他容器中的容器
--> 外在表象为 一个矩形区域,该区域可存放其他组件
--> 作为容器盛装其他组件,为放置组件提供空间
--> 可不能单独存在,必须放置到其他布局管理器中
--> 默认使用FlowLayout作为其布局管理器

ScrooPane 是一个带滚动条的容器,不能独立存在,必须添加到其他容器中
--> 可作为容器盛装其他组件,当组件占用空间过大,自动产生滚动条
--> 不能单独存在
--> 默认使用BorderLayout作为布局管理器.通常盛装其他容器

布局管理器
LayoutManager可以根据运行平台来调整组建的大小
--> AWT具有默认的布局管理器
--> AWT提供FlowLayout,BorderLayout,GridLayout.GridBigLayou.CardLayout
--> Swing还提供了一个BoxLayout布局管理器

FlowLayout
组件像水流一样向某个方向排列,遇到边界即从头开始排列
默认情况下左 -> 右
构造器
FlowLayout 默认方式
FlowLayout(int align) 使用指定对其方式,默认垂直水平
FlowLayout(int align, int hgap, int vgap) 均指定
hgap 水平
vgap 垂直
align 方向
BoderLayout
容器分为:EAST/SOUTH/WEST/NORTH/CENTER五个区域
--> 当添加组件时,需要指定要添加的哪个区域,若未指定,则默认添加中间
--> 如果向同一个区域添加多个组件,后放入的覆盖前面的
构造器
BorderLayout() 默认
BorderLayout(int hgap , int vgap) 使用指定的水平/垂直
GridLayout
规则矩阵
GridBigLayout
网格包
CardLayout
卡片管理器
BoxLayout

GUI窗体监听
WindowListener --> 接口 --> WindowAdapter抽象类,继承了listener接口的所有方法(想用哪个就用哪个)
System.exit(0) --> 该接口的closing方法控制窗口关闭
GUI鼠标监听
MouseListener --> 接口 --> MouseAdapter同上
mouseRelease()
GUI键盘监听
KeyListener --> 接口 --> KeyAdapter同上
keyRelease()
GUI动作监听
actionListener


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值