2011-08-02 7 views
2

マイコード:今すぐグリッドレイアウトでボタンの位置をどのように設定しますか?

public class Form { 
    public static void main(String[] args) { 
     Form form = new Form(); 
     form.go(); 
    } 

    public void go() { 
     JFrame form = new JFrame(); 
     GridLayout layout = new GridLayout(2,7); 
     Label nameLabel = new Label("Name"); 
     form.setLayout(layout); 
     JTextField nameBox = new JTextField(); 
     form.getContentPane().add(nameLabel); 
     form.getContentPane().add(nameBox); 
     form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     form.setSize(500,500); 
     form.setVisible(true); 
    } 
} 

、私はその2,7及びません1,2のJTextFieldのこの位置を設定することができますか?

+1

Javaでスワップしています。 – rcv

答えて

1

GridLayoutは常に、コンテナ内のコンポーネントをコンテナ内の順にソートします。特定の場所にコンポーネントを置くことはできません。前にすべての場所に対してダミーコンポーネントを挿入する以外にはできません。

他のレイアウトマネージャを試してみるとよいでしょう。 GridBagLayoutはこれを行うことができますが、使い方はかなり複雑です。 2,7前の位置に空のコンポーネントを追加する

5

てみてください、のようなもの:

form.add(nameLabel); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(new JPanel()); 
form.add(nameBox); 
+1

これは基本的なものです。見えないJComponentsの+1 – mKorbel

2

は、あなたがより良いグリッドバッグレイアウトを使っているようですし、あなたのコンポーネントを配置するgridx gridy制約を使用して...ここのチュートリアルですfrom java:http://download.oracle.com/javase/tutorial/uiswing/layout/gridbag.html グリッドレイアウトを使用したい場所にコンポーネントを直接配置することはできません(@PaŭloEbermannは同じことを言っています)

関連する問題