我使用2行6列的網格佈局。第一列是標籤,第二列是組合。我的問題是Java佈局管理器
根據標籤大小組合框的大小也增加。 我想要一個穩定的組合大小?我應該使用哪種佈局? 我要像
* LABEL1設計:COMBO1標籤2:combo2 LABEL3:combo3 label4:text1的label5:文本2 label6:文字3 *
我使用2行6列的網格佈局。第一列是標籤,第二列是組合。我的問題是Java佈局管理器
根據標籤大小組合框的大小也增加。 我想要一個穩定的組合大小?我應該使用哪種佈局? 我要像
* LABEL1設計:COMBO1標籤2:combo2 LABEL3:combo3 label4:text1的label5:文本2 label6:文字3 *
爲GridLayout
您可以使用JComboBox#setPrototypeDisplayValue,那麼你可以爲JComboBox
在屏幕上非常confortly設置初始大小
您可以使用SpringLayout
或GridBagLayout
使用今天的定製LayoutManagers
爲例如MigLayout
是
有關選擇正確的01的通知,一切都取決於如果內容應該或不應該是可調整大小與容器
遍歷所有的標籤和設定的最大尺寸的所有其中。
Label 1 |________________|
Label Label 2 |________________|
Label Label Label 3 |________________|
Label 1 |________________|
「set .. size」是什麼意思?通常情況下,代碼沒有什麼作用,因爲它是LayoutManager的任務......正如你所知道的那樣;-) – kleopatra 2012-08-02 09:18:56
在GridLayout
所有瓷磚都有相同的大小。
您應該考慮使用GridBagLayout
。您還需要爲每個GUI元素使用GridBagConstraints
來指定其位置。
如果您必須親手編寫佈局代碼並且使用第三方庫沒有任何問題,您可以試試Miglayout。
您也可以使用圖形編輯器來佈置您的面板。有兩種免費的工具可以做一份體面的工作(我知道):NetBeans和Eclipse WindowBuilder。
你可以使用一個GridBagLayout的,設置GridBagConstrints.fill到水平的組合框
combo3所有其他完後,放置在新行 – Siddhu 2012-08-02 08:12:01
簡單(儘管可能不是你想聽到的那個:-)答案是:瞭解哪個LayoutManager做什麼,然後選擇哪一個滿足你的要求。 Swing標籤中引用的教程有關於佈局的章節。 – kleopatra 2012-08-02 09:16:55