2012-01-16 8 views
3

Gridlayoutにコンポーネントを追加することは可能ですか?前の1つ上の次のものを意味しますか?Java Swing Gridlayout VERTICAL制約

はあなた

+2

さらに回答を受け入れる必要があります。あなたは55の質問をしましたが、答えの半分以下で回答を受け入れました。 – Paul

答えて

3

ありがとういいえ、あなたは下から上に垂直方向に積み重ねることができます何のレイアウトは、私の知ることを、少なくとも、ありません。垂直積み重ねが必要な場合は、GridLayoutを単一の列に、またはBoxLayoutを垂直軸に使用します。パネルをネストしてレイアウトを組み合わせることで、必要なものを簡単に手に入れることができます。縦のレイアウトを持つパネルは、すべて横のコンテナにレイアウトされています。

+0

['List'](http://docs.oracle.com/javase/7/docs/api/java/util/List.html)や[Deque'](http:// docs .oracle.com/javase/7/docs/api/java/util/Deque.html)の実装です。 – trashgod

1

この回答はグリッドレイアウトとは関係ありませんが、JGoodiesフォームレイアウトの使用を強くおすすめします。柔軟性に優れています。 http://www.jgoodies.com/freeware/forms/index.html

      /* 1     2  3  4 5     6  7  8  9*/  
      String col1 = "left:max(20dlu;pref), 3dlu, 70dlu, 15dlu,left:max(10dlu;pref),10dlu, 70dlu, 70dlu, 70dlu"; 
          /* 1 2  3 4 5 6 7 8 */ 
      String row1 = " p, 5dlu, p, 3dlu, p, 5dlu, p, 9dlu, "; 
      FormLayout layout = new FormLayout(col1, row1 + row2 + row3 + row4 + row5 + row6); 

      JPanel panel = new JPanel(layout); 
      panel.setBorder(Borders.DIALOG_BORDER); 

      // Fill the table with labels and components. 
      CellConstraints cc = new CellConstraints(); 
      panel.add(createSeparator("Registration Information"), cc.xyw(1, 1, 7)); 
      panel.add(new JLabel("Patient ID"), cc.xy(1, 3)); 
      panel.add(pid, cc.xyw(3, 3, 1)); 
      panel.add(new JLabel("Date and Time"), cc.xy(5, 3)); 

あなたは手のコードは、任意の場所、すなわちWRTを設計した定義されたレイアウトでは、COLと行する各コンポーネントをプロットすることができます。 垂直配置さえあります。 読むホワイトペーパー:上から下へBoxLayoutとGridLayoutの表示要素のようなhttp://www.jgoodies.com/articles/forms.pdf

3

レイアウト使用:

panel.add(someComponent); 

が、あなたはいつでも使用することができます。

panel.add(someComponent, 0); 

をでコンポーネントを挿入します上。