2012-08-02 158 views
3

我使用2行6列的網格佈局。第一列是標籤,第二列是組合。我的問題是Java佈局管理器

根據標籤大小組合框的大小也增加。 我想要一個穩定的組合大小?我應該使用哪種佈局? 我要像

* LABEL1設計:COMBO1標籤2:combo2 LABEL3:combo3 label4:text1的label5:文本2 label6:文字3 *

+0

combo3所有其他完後,放置在新行 – Siddhu 2012-08-02 08:12:01

+1

簡單(儘管可能不是你想聽到的那個:-)答案是:瞭解哪個LayoutManager做什麼,然後選擇哪一個滿足你的要求。 Swing標籤中引用的教程有關於佈局的章節。 – kleopatra 2012-08-02 09:16:55

回答

4
  1. GridLayout您可以使用JComboBox#setPrototypeDisplayValue,那麼你可以爲JComboBox在屏幕上非常confortly設置初始大小

  2. 您可以使用SpringLayoutGridBagLayout

  3. 使用今天的定製LayoutManagers爲例如MigLayout

  4. 有關選擇正確的01的通知,一切都取決於如果內容應該或不應該是可調整大小與容器

4

遍歷所有的標籤和設定的最大尺寸的所有其中。

Label 1    |________________| 
Label Label 2  |________________| 
Label Label Label 3 |________________| 
Label 1    |________________| 
+1

「set .. size」是什麼意思?通常情況下,代碼沒有什麼作用,因爲它是LayoutManager的任務......正如你所知道的那樣;-) – kleopatra 2012-08-02 09:18:56

2

GridLayout所有瓷磚都有相同的大小。

您應該考慮使用GridBagLayout。您還需要爲每個GUI元素使用GridBagConstraints來指定其位置。

4

如果您必須親手編寫佈局代碼並且使用第三方庫沒有任何問題,您可以試試Miglayout

您也可以使用圖形編輯器來佈置您的面板。有兩種免費的工具可以做一份體面的工作(我知道):NetBeansEclipse WindowBuilder

3

你可以使用一個GridBagLayout的,設置GridBagConstrints.fill到水平的組合框