JAVA知识点梳理第三部分——图形用户界面GUI部分
来源:互联网 发布:扬州 住宿 推荐 知乎 编辑:程序博客网 时间:2024/06/05 08:34
JAVA整理知识点传送门:
JAVA知识点拉理第一部分——常规知识
JAVA知识点梳理第二部分——接口、内部类、异常等等
JAVA知识点梳理第三部分——图形用户界面GUI部分
JAVA知识点梳理第四部分——Swing控件
JAVA知识点梳理第五部分——JAVA数据流(文件)
JAVA知识点梳理第六部分——线程
JAVA知识点梳理第七部分——网络
JAVA的图形用户界面设计
图形用户界面(Graphical User Interface)GUI 是现在大多数程序不可缺少的部分。JAVA中的图形用户界面由各种组件(component)。在java.awt和java.swing包中国定义了许多用于创建图形用户界面的组件类。
多数Swing组件以字母J开头。
Swing和AWT组件最大的不同是Swing组件在实现时不包含任何本地代码。
GUI API包含可以分为三个组件类(component class)、容器类(container class)、辅助类(helper class)
容器
JAVA的GUI界面是由组件构成,例如按钮(Button),文本输入框(TextEdit),标签(label)等都是组件,其中有一类特殊的组件称作为容器(Container),例如框架(Frame)、面板(Panel)等。容器是组件的容器,各种组件(包括容器)都可以通过add()方法添加到容器中。
顶层容器
显示在屏幕上的多有组件都必须包含在某个容器中,而这些容器是可以进行嵌套的。在这个嵌套层次的最外层,
必须是一个顶层容器
Swing中提供了4个顶层容器,分别是JFrame、JApplet、JDialog和JWindow
- JFrame是一个带有标题行和控制按钮(最大化,最小化,关闭)的独立窗口,创建应用程序的时候需要用到JFrame。
- 创建小应用程序的时候要使用JApplet,它被包含在浏览器窗口中。
- 创建对话框的时候要使用JDialog。
- JWindow是一个不带标题行和控制按钮的窗口,很少被使用。
内容窗格
每一个顶层容器(JFrame、JApplet、JDialog、JWindow)都有一个内容窗格(ContentPane),实际上,顶层容器中除菜单之外的组件都放在这个内容窗格。将组件放入内容窗格,可以通过两种方法:
通过顶层容器的getContentPane()方法获得其默认的内容窗格(getContentPane()返回的方法类型为java.awt.Container,仍然为一容器。然后将组件添加到内容窗格中。)
container contentPane=frame.getContentPane();
contentPane.add(button,BorderLayout.CENTER)
上面的语句也可以合并成一句:
frame.getContentPane().add(button,BorderLayout.CENTER);
- 创建一个新的内容窗格取代顶层容器默认的内容窗格。通常的的做法是创建一个JPanel的实例(它是java,awt,Container的子类),然后将组件添加到JPanel实例中,再通过顶层容器的setContentPane()方法将JPanel实例设置为新的内容窗格。
例如:
JPanel contentPane=new JPanel();contentPane.setLayout(new BorederLayout());contentPane.add(button,BorderLayout.CENTER);frame.setContentPane(contentPane);
组件类Component
component类的实例可以显示在屏幕上。component类是包括容器内的所有用户界面的根类。而JComponent类是所有轻量级SWing组件类的根类,Component和JComponent都是抽象类。
GUI辅助类
辅助类不是Component的子类,例如:Graphics、color、Font、FontMetrics、Dimension和LayoutManager等。他们用来描述GUI组件的属性。例如,图形的内容。颜色,字体,以及大小等等。
布局管理
- FlowLayout 流布局
FlowLayout是最简单的布局管理器。按照组件添加的顺序,从左到右的将组件排列在容器中。当放满一行的时候,就开始新的一行。可以使用三个常量FlowLayout.RIGHT、FlowLayout.CENTER\FlowLayout.LEFT
之一来指定组件的对其方式。
FlowLayout布局管理器的三种构造方法:
FlowLayout();FlowLayout(int align);FlowLayout(int align,int hgap,int vgap);
align选项可以将组件的对齐方式设定为左对齐还是右对齐。
hgap和vgap可以设定组件的水平间距和垂直间距。
改变frame的大小,组件的布局也会随之改变!
- BorderLayout 边缘布局
BorderLayout是顶层容器中的内容窗格的默认布局管理器,它提供一种较为复杂的组件布局管理方案。
BorderLayout的两种构造方法:
BorderLayout();BorderLayout(int hgap,vgap);各部分具有间距的BorderLayout实例
每一个由BorderLayout管理的容器被划分为了北(North)、南(South)、西(West)、东(East)、中(center)。分别使用常量BorderLayout.NORTH|···设置组件的对齐方式。
改变frame大小时,窗口中的组件的相对位置不会发生改变。但是组件的大小会改变。
- GridLayout布局管理器 网格管理器
GridLayout是一种网格式的布局管理器,它将空间划分成了若干行乘若干列的网格,组件依次放在其中,每一个组件占一格。
GridLayout布局的三种构造方法;
GridLayout();创建一个只有一行的网格
GridLayout(int rows,int cols);创建一个rows行,cols列的布局管理器
GridLayout(int rows,int cols,int hgap,int vgap);hgap和vgap分别表示各个组件中的距离。
rows和cols中的一个值可以为0,但不能同时为0。如果cols为0,那么网格的列数按照实际情况确定。
- BoxLayout布局管理器
BoxLayout它将容器中的组件按照水平方向排成一行或者垂直方向排成一列。当组件排成一行时,每个组件可以有不同的宽度,当组件排成一列的时候后,每个组件可以有不同的高度。
BoxLayout的构造方法:
BoxLayout(Container target,int axis);
其中,Container型参数target指明是为哪个容器设置此布局管理器,int型参数axis指明组件的排列方向,通常使用的是BoxLayout.X_AXIS或BoxLayout.Y_AXIS分别表示是水平方向排列或者垂直方向的排列。
- JAVA知识点梳理第三部分——图形用户界面GUI部分
- Java图形用户界面编程(GUI)部分知识
- JAVA知识点梳理第一部分——常规知识
- JAVA知识点梳理第四部分——Swing控件
- JAVA—GUI(图形用户界面)编程
- java GUI图形用户界面
- java----GUI图形用户界面
- JAVA知识点梳理第五部分——JAVA数据流(文件)
- JAVA知识点梳理第二部分——接口、内部类、异常等等
- 黑马程序员——15Java图形用户界面GUI
- 黑马程序员——Java基础---GUI(图形用户界面)
- 黑马程序员——Java GUI(图形用户界面)
- 黑马程序员—java基础—GUI图形用户界面编程
- 黑马程序员java学习—GUI(图形用户界面)
- 黑马程序员—java基础学习--GUI( 图形用户界面 )
- 黑马程序员——图形用户界面GUI
- 黑马程序员——GUI图形用户界面
- 黑马程序员——GUI 图形用户界面
- oracle数据库
- android 连按两次Back键退出应用
- mac 系统安装Python3(亲测可行)(一)
- keil5编译出现Error: L6411E:的解决办法
- 各种乱码、验证码、重定向和转发应用
- JAVA知识点梳理第三部分——图形用户界面GUI部分
- 我的大学生活总结
- hdu 2058 The sum problem(数学题)
- html5学习-坦克大战总结
- html基础认知记录
- 泛化 实现 关联 合成 聚合 依赖 用Raitonal Rose画图
- 我的treap模板
- tcl语言列表--注意点
- SQL的UNION使用