图形用户界面GUI
抽象窗口工具包AWT:GUI的基本类库位于java.awt包
AWT可用于Java的applet和applications中。
它支持图形用户界面编程的功能包括:
用户界面组件;
事件处理模型;
图形和图像工具,包括形状、颜色和字体类;
布局管理器
java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念:
组件--Component
容器--Container
布局管理器—LayoutManager
理解:容器类(Container)和组件类(Component)
组件:一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。
组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。
Button、Scrollbar、Canvas、List、Checkbox、TextField、Label类是java.awt包中的Component类的子类。
Java把Component类的子类或间接子类所创建的对象称为一个组件。
容器:是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和
器。
Container类,定义了容器所需要用到的属性及方法。
所谓容器就是上面可以放许多其它的组件的东西。容器本身也是一个组件,因此一个容器可以使用add()方法添加另一个容器,实现容器的嵌套。
常用的方法有:
add(Component c) 添加组件
remove(Component c)删除组件
setLayout(LayoutManager m)等。
常用的容器有三种:Frame、Panel、Applet
顶层窗口是指没有被包含在其他窗口中的窗口,也被称为框架(Frame)。Frame包括标题、边框、菜单、大小
Panel是一种最简单的容器类,提供空间给程序将其它的组件附在其上。也可以将其它的Panel放在其上
Panel的好处就是可将相关的组件整合组织起来,让用户接口更为简洁清楚。
Applet是一种可在浏览器中执行的小型Java程序。而大部分执行applet所需的图形支持环境已内建或以嵌入的方式放在浏览器中
常用的控件有:Checkbox、CheckboxGroup或RadioButton、List、Label、文本编辑区(Edit或TextField、TextArea)、Button
一、开发GUI程序的步骤
构建一个顶层容器(框架):可以独立存在window,Dialog,Frame,applet
设定容器的布局管理器 setLayout()
构建若干个组件,组件可以是其他容器 new
用容器的add方法将这些组件加入到容器中 add()
设置组件属性 setBounds()等 将组件事件与代码关联
window Frame,dialog的区别
window:没有边框,没有标题栏,没有菜单栏,也不能缩放大小
Frame:则有边,且可设标题,上面也可放菜单,且可调整大小。Frame最合适用于一个application需要有菜单的窗口。
Dialog:Dialog有边,可设标题,也可调整大小,很像Frame。但与Frame不同的是它不能放菜单。
二、创建菜单步骤:
1.创建菜单栏new MenuBar;
MenuBar() 创建新的菜单栏。
2.创建菜单
Menu() 构造具有空标签的新菜单。
Menu(String label)构造具有指定标签的新菜单。
Menu(String label, boolean tearOff)构造具有指定标签的新菜单,指示该菜单是否可以分离。
3.创建菜单项
MenuItem() 构造具有空标签且没有键盘快捷方式的新菜单项。
MenuItem(String label)构造具有指定的标签且没有键盘快捷方式的新菜单项。
MenuItem(String label, MenuShortcut s)创建具有关联的键盘快捷方式的菜单项。
4.把菜单项添加到菜单中
add(....);
5.菜单添加到菜单栏中
add(...);
6.设置窗口的菜单栏
setMenuBar(MenuBar mb)
二、常用的方法
1.addSeparator();将一个分隔线或连字符添加到菜单的当前位置。
三、布局管理
布局管理FlowLayout
1.FlowLayout布局管理器
2.Color:颜色类使用
四、组件
1.TextField:输入一行文本
常用方法
1).getEchoChar(char c) 获取用于回显字符。
2).setEchoChar(char c) 设置此文本字段的回显字符。
3).setEditable(boolean b)
2.Label
3.TextArea:可以输入多行文本
运行结果:
AWT的五大布局管理器(java. awt包中的五个类)
1.FlowLayout:该布局管理器将组件从左到右或从上到下放置,是Panel和applet的默认布局管理器。
2.BorderLayout:该布局管理器将组件分为东、西、南、北、中五个区域,是Windows、Dialog和Frame容器的默认布局管理器。
3.CardLayout:该布局管理器将加入到容器的组件作为卡片,把每个组件放置在一个单独的卡片上,后面的卡片将覆盖前面的卡片,每次只能看到一张卡片。
4.GridLayout:该布局管理器将容器分为相同尺寸的网格,将组件依次放入网格中。
5.GridBagLayout:该布局管理器将容器分为相同尺寸的网格,但组件不只是占一个网格,一个组件可以占多个网格位置。