时间:2023-01-02 09:21:57 | 栏目:JAVA代码 | 点击:次
Java能够以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不同,为此java提供了布局管理器,使编写的图形界面具有良好的平台无关性。
注意:所有的布局管理器均是针对容器来使用的,包括顶层容器和中间容器。
所属类包 | 布局管理器名称 | 说明 |
---|---|---|
Java.awt | FlowLayout(流式布局) | 组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列 |
Java.awt | BorderLayout(边界布局) | 容器划分为东、西、南、北、中五个区域,每个区域只能放置一个组件。 |
Java.awt | GridLayout(网格布局) | 容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件。 |
Java.awt | CardLayout(卡片布局) | 如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌。适用于在一个空间中防止多个组件的情况 |
Java.awt | GridBagLayout(网格包布局) | GridLayout的升级版,组件仍然是按照行、列放置,但是每个组件可以占据多个网格 |
Java.swing | BoxLayout(箱式布局) | 允许在容器中纵向或者横向防止多个控件 |
Java.swing | SprigLayout(弹簧布局) | 根据一组约束条件放置控件 |
无 | 空布局 | 不使用布局管理器,按照控件自身提供的大小、位置信息放置控件 |
容器 | 默认布局方式 | |
---|---|---|
顶层容器 | JFrame | BorderLayout(边界布局) |
顶层容器 | JDialog | BorderLayout(边界布局) |
顶层容器 | JApplet | FlowLayout(流式布局) |
中间容器 | JPanel | FlowLayout(流式布局) |
1.需求:某些时候,我们需要在任意时刻和任意位置创建任意数量的对象。
2.数据的缺陷1,具有固定的尺寸,而在实际的使用中我们不好估计自己需要多少的对象。数组的缺陷2,没法支持更加复杂的数据结构。
3.Java中容器的好处就是在于可以自动地调整自己的尺寸大小。在实际的编程中可以往容器中放置任何数量的对象,而不用担心容器应该设置成多大。
4.不同的容器还有其特殊的属性。
List
:特定顺序保存一组数据。Set
:集合;不允许有重复的数据。Queue
:队列:在一端插入数据,一端弹出数据。Map
:关联数据,字典。存储一组(Key-Value)值。区别:
List
:可以存储重复数组,基于数组或者链表实现。Set
:不可以存储重复元素,基于Map实现。Map
:键值对方式存储,存储的键的不能重复,基于哈希表或者红黑色实现。总体上可以分为两类:
一类是Collection:一个独立元素的序列,另一类是Map:一对键值对的对象。
Collection接口包括List接口、Queue接口、Set接口。其中List接口包括ArrayList类和LinkedList实现类。Queue接口包括Deque接口和PriorityQueue实现类。Set接口包括HashSet实现类,SortedSet接口。
Map接口包括HashMap实现类,TreeHashMap实现类。其中HashMap实现类包括LinkedHashMap子类。