2011-12-10 20 views
2

私はコースワークを完成させる過程でですが、私はこれを理解するいくつかの助けが必要:相対位置決めと絶対座標?

「注:アプリケーションのフレームがに基づいてサイズが変更されたとき、アプリケーションはボタンやチェックボックス の相対位置を維持する必要がありますレイアウトマネージャとtech- niquesモジュールでカバーした。すなわち、すなわち、画面が、相対的な位置決め、成分Xに 確定JComponentの成分Yの 右へと成分Zの左側にあるときに絶対座標を選択してはならないとユーザーがアプリケーションのフレームのサイズを変更した場合、これらの相対的な位置は に維持されます。

これはBoxLayout.X/Y_AXISを使用しないイムを意味していますか?絶対座標ですか?

私の理解には、いくつかのパネルを使用する必要がありますか?もしそうなら、私のコードにはログインが含まれています。ログインすると、フレームの色をどのように変更できますか?あなたの代わりに、絶対位置のレイアウトマネージャを使用する必要があると言っているよう

+0

この[ネストされたレイアウトの例](http://stackoverflow.com/questions/5621338/about-swing-and-jtable/5630271#5630271)はこれだけです。 –

答えて

4

JFC/Swingアプリケーションでコンポーネントをレイアウトするには基本的に2通りの方法があります。

  • 各コンテナにレイアウトを担当するレイアウトマネージャを割り当てます。 (それが何であるかのためsee here)トップレベルコンテナ(0,0)から始まる左コンポーネントを@Shakedown
  • 割り当てる各JComponentのそれは左上隅が上からピクセルカウント、情報のための絶対位置によって提供されるリンクを参照にあります;絶対配置上のthis tutorialを参照してください。
あなたが想像できるように、第二の方法は、いくつかの問題があります:それは、すべての動的ではありませんし、最も顕著なものに名前を付けるために、間違って得ることは容易です。ほとんどの場合、レイアウトマネージャを使用する方が簡単ですが、よりスマートな方法でGUIを配置することもできます。

レイアウトマネージャは、各JComponentを、コンポーネントが実行時にレイアウトされたレイアウトから派生した絶対位置に割り当てます。動的には、通常はJComponentsのPreferredSizeを使用します。たとえば、FlowLayoutは、各JComponentに、必要なときに行を折り返す前にJComponentの右に正確に当てはめる絶対位置を割り当てます。コンテナのサイズが変更されると、コンテナ内のすべてのコンポーネントの位置が再計算されます。詳細については、hereを参照してください。

BoxLayoutに関するご質問については、それはレイアウトマネージャです。 BoxLayout.X_AXISおよびBoxLayout.Y_AXISは、BoxLayoutが管理するJComponentsをどの方向に配置するかを決定するために使用されます。彼らは絶対的な位置付けを指していません。詳細については、the Javadocs on BoxLayoutおよびthe Java tutorial on BoxLayoutを参照してください。

すべては、レイアウトマネージャを使用することです。標準のJavaライブラリで利用可能なさまざまなレイアウトマネージャについては、チュートリアル(リンクを参照し、サイトを参照)で詳しく説明しています。楽しむ!

4

これが聞こえます。はい、いくつかのコンポーネント(可能であればJComponentまたはJPanel)を使用して、それぞれ独自のレイアウトマネージャを使用します。スタンドアローンコンポーネントから始め、別のコンポーネントでレイアウトマネージャーを組み合わせることで、UIを構築できます。ここ

スタート:あなたがそのようなあなたのフレームの色を変更するなど、具体的な質問を持っていればLaying Out Components

、それは別の問題として、(同様の質問がまだ存在していないと仮定することを頼むのが最善だろう)。

関連する問題