java中容器(顶层容器和中间容器)的布局管理器详解
程序员文章站
2022-06-25 12:16:09
目录java容器(顶层容器和中间容器)的布局管理器一、布局管理器所属类包二、容器的默认布局管理器java常用的四大容器总结一、为什么要使用容器(集合类)?二、java中四大容器的简介与区别三、java...
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(流式布局) |
java常用的四大容器总结
一、为什么要使用容器(集合类)?
1.需求:某些时候,我们需要在任意时刻和任意位置创建任意数量的对象。
2.数据的缺陷1,具有固定的尺寸,而在实际的使用中我们不好估计自己需要多少的对象。数组的缺陷2,没法支持更加复杂的数据结构。
3.java中容器的好处就是在于可以自动地调整自己的尺寸大小。在实际的编程中可以往容器中放置任何数量的对象,而不用担心容器应该设置成多大。
4.不同的容器还有其特殊的属性。
二、java中四大容器的简介与区别
-
list
:特定顺序保存一组数据。 -
set
:集合;不允许有重复的数据。 -
queue
:队列:在一端插入数据,一端弹出数据。 -
map
:关联数据,字典。存储一组(key-value)值。
区别:
-
list
:可以存储重复数组,基于数组或者链表实现。 -
set
:不可以存储重复元素,基于map实现。 -
map
:键值对方式存储,存储的键的不能重复,基于哈希表或者红黑色实现。
三、java的容器体系
总体上可以分为两类:
一类是collection:一个独立元素的序列,另一类是map:一对键值对的对象。
collection接口包括list接口、queue接口、set接口。其中list接口包括arraylist类和linkedlist实现类。queue接口包括deque接口和priorityqueue实现类。set接口包括hashset实现类,sortedset接口。
map接口包括hashmap实现类,treehashmap实现类。其中hashmap实现类包括linkedhashmap子类。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。