java之GUI

1.awt包
1.awt(Abstract Window Toolkit)包含很多类和接口,用于java Application 的GUI编程。
2.GUI的各种元素(如窗口,按钮,文本框)由java类实现
3.Container和Component是AWT中的两个核心类

                                                     Component(java中任何可以显示的元素)

Button/TextArea/Label/TexteField/List                               Container(容器)
                                            
                                                               Window          Panel

                                                             Frame/Dialog                                                         

 

2.Component/Container
1.java的图形界面最基本组成部分是Component,Component类及其子类的对象用来描述以图形化的方式显示在屏幕上并能与用户交互的GUI元素(按钮/标签...)
2.一般的Component对象不能独立显示出来,必须在某一Container对象中才可以显示出来
3.Container是Component子类,Container子类可以容纳别的Component对象
4.Container对象可以用add()方法向其中添加其他Component对象
5.Container是Component子类,因此Container对象也可以作为Component对象添加到其他Container对象中
6.两种常用的Container
(1)Window:其对象是可以自由停泊的顶级窗口
(2)Panel:其对象可以容纳其他Component对象,但不能独立存在,必须添加到其他Container中(Window/Applet)


3.Frame
1.Frame是Window的子类,由Frame或其子类创建的对象为一个窗体。
常用构造方法
new Frame()/
new Frame(String name)/构建一个窗口(窗口名为name)
new Frame(LayoutManager lay)/构建一个指定布局管理器的窗口

常用方法
void setBounds(int x,int y,int width,int height)/设置大写位置(x,y是左上角坐标)
setSize(int width,int height)/设置大小
setLocation(int x,int y)/设置位置
setBackground(Color c)/设置背景颜色
setVisiable(boolean b)/是否可见
setTitle(String name)/设置窗口名
setResizable(boolean b)/设置是否可以调整大小
setLayout(LayoutManager manager)/设置内部布局管理

 


3.Panel
1.Panel对象可以看成可以容纳Component对象的空间
2.可以拥有自己的布局管理器

常用构造方法:
Panel()/
Panel(LayoutManager layout)/构建一个Panel对象并设置其内部布局管理器

方法类似Frame

 

4:布局管理器
1.管理Component在Container中的布局,不必直接设置Component位置和大小
2.每个Container都有一个布局管理器对象,当某容器需要对某个组件进行定位或判断尺寸大小时,就会调用其对应的布局管理器
3.调用setLayout(LayoutManager lay)方法设置Container的布局管理器对象

5种LayoutManager(接口)的子类(管理器对象)
FlowLayout/BorderLayout/GridLayout/GardLayout/GridBagLayput

 

 

5.FlowLayout(Panel类默认管理类型)
1.流水线型,对组件逐行定位,行内从左到右,一行排满后换行
2.不改变组件大小,按组件原有尺寸显示组件,可设置不同的组件间距,行距及对齐方式
3.FlowLayout默认对齐方式居中,默认组件间距和行间距5

对齐方式5个参数(静态成员变量)
LEFT/RIGHT/CENTER/LEADING/TRAILING

构造方法
new FlowLayout()/参数都为默认
new FlowLayout(FlowLayout.RIGHT,int hang,int high)/右对齐,hang表示组件间距,high表示行间距
new FlowLayout(FlowLayout.RIGHT)/指定对齐方式

 


6.BorderLayout布局管理器(划分成5个区域)

五个静态成员变量参数(区域划分)
EAST/WEST/SOUTH/NORTH/CENTER

1.Frame类的默认布局类型
2.如不指定组件的加入部位,默认加到CENTER区
3.每个区域只能加入一个组件,如加入多个,之前的会被覆盖(想放多个,可以放Panel)
4.使用add(Object o,BorderLayout.EAST/WEST...)方法控制Compontent的添加位置

 

 

7.GridLayout布局管理器
1.将空间划分成规则的x*y个矩形网格,各个单元格区域大小相等。组件被添加到每个单元格中,先从左到右填满一行后换行,在从上到下
2.构造方法指定分割的行列数

构造方法:
Grid(int hang,int lie);

 

8.总结:如果想自己布局
需setLayout(null);

 

9:JList
构造函数:
JList(Object[])

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值