Java 在BoxLayout中对元素重新排序
我有一个BoxLayout(Java 在BoxLayout中对元素重新排序,java,swing,layout,boxlayout,Java,Swing,Layout,Boxlayout,我有一个BoxLayout(Y_轴),其中已经添加了一些(FlowLayout)元素,如下所示: element1> ================= <element1 element2> ================= <element2 element3> ================= <element3 谢谢 编辑:找到解决方案。现在就开始吧 有什么像 您可以使用以下方法创建自己的方法: panel.remove(...); panel.
Y_轴
),其中已经添加了一些(FlowLayout
)元素,如下所示:
element1> ================= <element1
element2> ================= <element2
element3> ================= <element3
谢谢
编辑:找到解决方案。现在就开始吧
有什么像
您可以使用以下方法创建自己的方法:
panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();
查看容器
API以了解有关这些方法的更多详细信息
有什么像
您可以使用以下方法创建自己的方法:
panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();
CHECK出代码>容器/代码> API以了解这些方法的更多细节。
可以考虑使用
这将允许您更改组件在容器中的显示顺序(实际更改渲染和布局组件的顺序) <> >注意,您不能在下面的代码下设置ZORT > 0 或以上的代码> GETCAMECTONCOUNT()-1 < /COD> < /P> < P>您可以考虑使用 这将允许您更改组件在容器中的显示顺序(实际更改渲染和布局组件的顺序)请注意,您不能在
0
以下或getComponentCount()-1
以上设置zorder。试试看@MadProgrammer,不错的建议,听起来像是我的答案。这看起来不错@MadProgrammer。我现在就要试一试。看一看@MadProgrammer,很好的建议,听起来像是我的答案。这看起来不错@MadProgrammer。我现在就要试一试。干杯,但问题是,它仍然只是将他们添加到列表的底部。我将不得不替换两个“移动”面板中的所有元素,这可能会得到一个混乱的..@user1270235,正如我所说的,请阅读API。add(…)方法有多个方法签名。add(component,int)
方法允许您指定组件的插入位置。话虽如此,madprogrammer建议使用ZOrder会更容易,但问题是它仍然只是将它们添加到列表的底部。我将不得不替换两个“移动”面板中的所有元素,这可能会得到一个混乱的..@user1270235,正如我所说的,请阅读API。add(…)方法有多个方法签名。add(component,int)
方法允许您指定组件的插入位置。话虽如此,madprogrammer建议使用ZOrder会更简单。+1,很好的建议,删除/添加在一条语句中完成,只需更改ZOrder。回答得很好!效果很好。我没有意识到这一点。Thanks@user1270235这有点怪,但能完成任务;)@user1270235,我希望您阅读API以真正理解此方法的作用,因为它只是Swing绘制组件的方式的副产品,而这种方式恰好可以工作。ZOrder实际上是用来控制“组件的堆叠”在另一个组件之上。+1,很好的建议,删除/添加在一个语句中完成,只需更改ZOrder。回答得很好!效果很好。我没有意识到这一点。Thanks@user1270235这有点怪,但能完成任务;)@user1270235,我希望您阅读API以真正理解此方法的作用,因为它只是Swing绘制组件的方式的副产品,而这种方式恰好可以工作。ZOrder实际上是用来控制“组件堆叠”的。
int index = getComponentZOrder(element3);
setComponentZOrder(element3, --index);