我需要重新排列我的项目,GridLayout
所以当JButton
动态创建 a 时,页脚(即JLabel
)保持在网格的底部,并且动态创建的按钮位于页脚的正上方。
这可能吗?如果可以,我可以看一个例子吗?
我的网格目前是
new GridLayout(intIndex, 1);
whereintIndex
每次创建动态元素时都会增加。
我需要重新排列我的项目,GridLayout
所以当JButton
动态创建 a 时,页脚(即JLabel
)保持在网格的底部,并且动态创建的按钮位于页脚的正上方。
这可能吗?如果可以,我可以看一个例子吗?
我的网格目前是
new GridLayout(intIndex, 1);
whereintIndex
每次创建动态元素时都会增加。
由于它是页脚,因此您可能希望BorderLayout
使用BorderLayout.PAGE_END
. 然后将您的组件与GridLayout
放在中间BorderLayout.CENTER
。这样,您的页脚将始终保持在底部,并且不会干扰内容,您现在可以自由更改以使用任何布局管理器而不会影响页脚。
如果您的页脚跨越整个底部,这应该是一个很好的解决方案,但是如果您试图在底角制作某种小页脚,那么它会有点困难,但无论哪种方式我都会建议试图将页脚与内容分开。
我认为我可以添加更多内容,尽管接受了一个答案。
Layouts 有两个接口:LayoutManager
和LayoutManager2
. 第二个扩展了第一个。因此,所有布局类都继承自LayoutManager
.
现在,LayoutManager2
让您根据一些约束安排您的组件。例如,在 Shakedown 的回答中,BorderLayout.CENTER
是BorderLayout
.
但是,仅这些实现的布局LayoutManager
不接受特定组件的约束。GridLayout
是这样的布局。它将从左上角开始添加组件并继续向右移动,当一行已满时转到下一行。
您可能对GridBagLayout
.