簡體   English   中英

在JPanel的中間添加JComponents

[英]Add JComponents in the middle of the JPanel

我想在FlowLayout和GridBagLayout之間進行權衡。 簡而言之,我在JPanel中添加了一些組件(我不知道其中有多少,這是在運行時創建的),我希望這些組件垂直居中。 FlowLayout是實現我的目標的理想選擇,但它在JPanel的頂部添加了組件。 因此,我決定使用GridBagConstraints,就像有人在這里建議的那樣( Java布局管理器垂直居中 ),但是此解決方案的問題是GridBagLayout不會自動創建新行,因此我只有一行(至少垂直居中) !!!)插入的組件超出了屏幕尺寸。 有人可以給我一些技巧嗎???

我希望這些組件垂直居中。 FlowLayout非常適合我的目標,但它在JPanel的頂部添加了組件

您永遠不會被迫使用單個面板或布局管理器。 您可以使用嵌套面板。 例如:

JPanel centered = new JPanel( choose your layout manager );

Box vertical = Box.createVerticalBox();
vertical.add( Box.createVerticalGlue() );
vertical.add( centered );
vertical.add( Box.createVerticalGlue() );
frame.add( vertical );

垂直面板中的膠水將占據等量的額外空間,從而使“居中”面板垂直居中。 因此,您可以使用所需的任何布局將組件添加到居中面板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM