博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器I

博为峰小博老师

箱式布局比较灵活,也比较实用。Swing提供的BOX类就是箱式布局类,它的默认布局管理器就是BoxLayout,在箱式布局管理器中包括两种箱子:一种是水平箱,另外一种是垂直箱。

创建一个水平箱的源代码如下:

创建一个垂直箱的源代码如下:

创建好箱子后,就可以像添加其他组件一样添加下面的控件,源代码如下:

两种箱子的区别在于组件的排列顺序,水平箱是按照从左到右的顺序排列,而垂直箱按照从上到下的顺序排列。对于箱式布局管理器而言,最关键的就是每个组件的3个尺寸。

l首选尺寸,即组件显示时的宽度和高度。

l最大尺寸,即组件能被显示的最大宽度和高度。

l最小尺寸,即组件被显示的最小高度和最小宽度。

下面是水平箱式布局管理器中组件排列的几个重点:

l计算最高组件的最大高度,尝试把所有的组件都增加到这个高度。如果有某些组件不能达到此高度,那么要在Y轴上对齐需要通过getAlignmentY方法实现,该方法返回一个介于0(按顶部对齐)和1(按底部对齐)之间的浮点数。组件的默认值是0.5,也就是中线对齐。

l得到每个组件的首选宽度,然后把所有的首选宽度合计起来。

l如果首选宽度总和小于箱的宽度,那么所有的组件都会相应的延伸,直到适应这个箱子的宽度。组件从左到右排列,并且相邻两个组件之间没有多余的空格。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容