2009-07-15 7 views
0

私はJLabels、テキストフィールド、およびJButtonを挿入する必要があるJFrameを持っています。私はこれらにすることができますが、どのように私はそれらを必要な位置に調整することができます、私は1つの行に1つのラベルとテキストフィールドを追加し、次の行にnxtラベルとテキストフィールドを追加するが、彼らは同じ水平線に来ている。私はJFrameでflowLayoutを使用しています。それに応じて調整する方法を教えてください。ありがとうスイングコンポーネントの位置を調整する

+1

Java Swingのオンラインデモやコードサンプルを見たり、本を買ったりしたと思います。 – seth

答えて

0

gridbaglayoutを見ましたか?あなたの目的を果たすべきです。

+0

ありがとうございます...それは私の問題を解決しました。 –

+0

ありがとうsomya、多分あなたはこの質問を閉じるために '受け入れられた'と回答をマークすることができます –

0

GridLayoutは、あなたが望むもの、またはGridLayoutとFlowLayoutの組み合わせかもしれません。 LayoutManager tutorialを見ると、さまざまなレイアウトマネージャをいつどのように使用して組み合わせるのかがわかります。

4

Swingのコンテナにコンポーネントを配布するための鍵はLayout Managerです。そこには様々なタイプがあります。あなたが探していることをするには、GridLayoutを考えてみてください。セットアップはかなり簡単です。最初にレイアウトを作成する必要があります。あなたが提供するとして、次のように多くの行を持つ2つの円柱のレイアウトを作成します。

GridLayout gl = new GridLayout(0,2); 

を次に、あなたのパネルに適用されます。

JPanel panel = new JPanel(gl); 

次に、あなたがあなたの項目を追加します。

panel.add(textfield1); 
panel.add(button1); 
panel.add(textfield2); 
panel.add(button2); 

GridLayoutは、コンポーネントで列を塗りつぶした後、行から行への移動を処理します。

0

スイングのさまざまな種類のレイアウトを調べる必要があります。 また、FormLayout(JGoodies提供)をご覧ください。私はコードを書くのが簡単でコードの行が少ないので、スイングレイアウトよりも使いたいです。

+0

MigLayout(http://www.miglayout.com/) - 私が使った最高のレイアウトマネージャー。 – Nate

0

デフォルトのSwing Layout Managerを使用しています。異なる動作(非常に合理的です)が必要な場合は、別のLayoutManagerを使用する必要があります。 Sunと "そこにいる"の両方からいくつか存在します。

あなたが選択できるようにするには、彼らはどのように動作するかを知る必要があります。私は強く、このためのJavaチュートリアルを使用することをお勧めすることができます

http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html

あなたは、例えばによって提供されるよりも多くを必要とする場合は、私たちを知ってみましょう入れ子になったBorderLayoutまたはTableLayout

0

アプリケーションにUI要素を(ほぼ)配置できるようにするには、NetBeansでMatisse、IntelliJ IDEAでSwing UI Designerなどの適切なGUIビルダーを使用することを検討してください。

関連する問題