图形用户界面简称GUI,提供了一种更加直观、友好的与用户进行交互方式。利用java语言进行图形用户界面操做主要由java.awt和java.swing两个包来完成。其中,AWT包是用户界面处理的基本工具包。swing包在awt包的基础上进行了升级、扩展,具备更增强大的图形界面开发功能。
awt主要的内容主要分为如下四个部分
1.容器:用于放置基本组件,其自己也是一种组件。
2.布局管理器:对容器中放置的组件进行布局管理
3.事件处理:采用事件处理机制,使得用户可以经过图形界面与系统进行交互
4.基本组件:包括按钮、标签、文本域等等,示图形界面的组成基本元素。
1、容器
容器是用来存放其它组件的一种特殊组件,在java中,全部容器类都是Container类的子类,Container类继承了Component类,该类的两个经常使用子类示Frame和Panel,Frame的Panel类表明两个不一样类型的容器。
1.Frame类
Frame类容器是一种带有边框的框架窗口,能够不依赖于其余任何组件独立存在,Frame类继承了Window类,能够带标题、设置大小。
实例1:
java
import java.awt.Color; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f= new Frame("MyFrame");//以"MyFrame"为标题建立Frame f.setSize(200,200);//设置窗体大小 f.setResizable(false);//设置大小为不可调 f.setBackground(Color.gray);//设置背景颜色 f.setVisible(true);//设置Frame为可见 } }
2.Panel类
Panel类容器没有任何边框。并且须要存在与其余容器中,该类容器只是包含在其余容器中的一个区域,一般用来将许多组件组合在一个区域中
实例2:
框架
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Frame; import java.awt.Panel; public class test{ public static void main(String args[]){ Frame f = new Frame("MyFrame"); Panel p1 = new Panel(); p1.setBackground(Color.red); Panel p2 = new Panel(); p2.setBackground(Color.green); f.add(p1,BorderLayout.NORTH); f.add(p2,BOrderLayout.CENTER) f.setSize(200,200); f.setVisible(true); } }
2、布局管理器
布局管理器用于布局容器中的组件,包括设定组件的位置和尺寸大小,java语言的AWT包提供了不一样类别的布局管理器,包括BorderLayout/FlowLayout/CarLayout/等等。
1.BorderLayout管理器
BorderLayout布局管理器将容器划分为东、西、南、北、中五个区域,它是Frame类的默认布局管理器。
实例:
工具
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f = new Frame("MyFrame"); f.setLayout(new BorderLayout()); f.add(new Button("按钮一"),BorderLayout.NORTH); f.add(new Button("按钮二"),BorderLayout.SOUTH); f.add(new Button("按钮三"),BorderLayout.CENTER); f.add(new Button("按钮四"),BOrderLayout.EAST); f.add(new BUtton("按钮五").BorderLayout.WEST); f.setSize(200,200); f.setVisible(true); } }
2.FlowLayout管理器
FlowLayout布局管理器用于将组件按照从坐到右、从上到下的顺序进行布局,他是Panel类的默认布局管理器。采用FlowLayout布局,不会改变组件的大小,按组件原有尺寸显示。当一个组件在本行放不下时,将自动换到下一行。FlowLayout组件之间默认的间距是5px,默认对齐方式是居中。
布局
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f = new Frame("MyFrame"); f.setLayout(new FLowLayout()); f.add(new Button("按钮一")); f.add(new Button("按钮二")); f.add(new Button("按钮三")); f.add(new Button("按钮四")); f.add(new BUtton("按钮五")); f.setSize(200,200); f.setVisible(true); } }
3.GridLayout管理器
布局管理器将容器划分为由行和列组成的多个网格,每一个网格放一个组件。采用GridLayout进行布局时,在容器中按照从左往右、从上到下的顺序往网格中逐个添加组件。
code
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f = new Frame("GridLayout"); f.setLayout(new GridLayout(3,3)); for(int i = 0 ; i < 9; i ++){ f.add(new Button("按钮"+(i+1))); } f.setSize(200,200); f.setVisible(true); } }+
江苏南京 钟志远 904727147
继承