2

我需要重新排列我的项目,GridLayout所以当JButton动态创建 a 时,页脚(即JLabel)保持在网格的底部,并且动态创建的按钮位于页脚的正上方。

这可能吗?如果可以,我可以看一个例子吗?

我的网格目前是

new GridLayout(intIndex, 1);

whereintIndex每次创建动态元素时都会增加。

4

2 回答 2

4

由于它是页脚,因此您可能希望BorderLayout使用BorderLayout.PAGE_END. 然后将您的组件与GridLayout放在中间BorderLayout.CENTER。这样,您的页脚将始终保持在底部,并且不会干扰内容,您现在可以自由更改以使用任何布局管理器而不会影响页脚。

如果您的页脚跨越整个底部,这应该是一个很好的解决方案,但是如果您试图在底角制作某种小页脚,那么它会有点困难,但无论哪种方式我都会建议试图将页脚与内容分开。

于 2011-09-14T16:33:19.543 回答
1

我认为我可以添加更多内容,尽管接受了一个答案。

Layouts 有两个接口:LayoutManagerLayoutManager2. 第二个扩展了第一个。因此,所有布局类都继承自LayoutManager.

现在,LayoutManager2让您根据一些约束安排您的组件。例如,在 Shakedown 的回答中,BorderLayout.CENTERBorderLayout.

但是,仅这些实现的布局LayoutManager不接受特定组件的约束。GridLayout是这样的布局。它将从左上角开始添加组件并继续向右移动,当一行已满时转到下一行。

您可能对GridBagLayout.

于 2011-09-15T03:41:40.123 回答