2012-01-03 16 views
1

我試圖學習如何使用Java Swing的GroupLayout。所有的使用GroupLayout呈現給對方的組件

首先,我只是想從製造的JLabel一格。

我遇到的問題是JLabels被直接渲染在彼此的頂部(即在完全相同的位置,以便遮擋另一個)。

下面是我爲了什麼應該在列3周的JLabel代碼:

layout.setHorizontalGroup(
    layout.createSequentialGroup() 
     .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) 
      .addComponent(one) 
      .addComponent(two) 
      .addComponent(three)) 
); 
layout.setVerticalGroup(
    layout.createParallelGroup(GroupLayout.Alignment.LEADING) 
     .addComponent(one) 
     .addComponent(two) 
     .addComponent(three) 
); 

我如何獲得標籤正確定位。

由於

回答

4

在垂直佈局你也構建這應該是一個連續的一個,而不是平行組(你wan't不同的行,而不是在一個全部)。

layout.setVerticalGroup(
    layout.createSequentialGroup() 
    .addComponent(one) 
    .addComponent(two) 
    .addComponent(three) 
); 

備註:對於這個例子,你也不需要水平佈局中的順序組。

+0

非常感謝您的回答。我不明白它爲什麼起作用,但現在我認爲我誤解了順序和並行組之間的區別。我只是認爲順序組定義了x軸,並行組定義了y軸,但是重新讀了oracle教程,順序可以在任何一個方向上,這取決於我們是定義水平還是垂直組,而並行只是將組件放入相同的空間。因此,平行組將組件放置在同一級別(在x或y軸上),而順序組將它們分開。 – Joe 2012-01-03 11:15:09