2012-01-06 17 views
8

JPanelのいくつかのボタンをランダムな位置(x、y)に配置すると、これらのレイアウトクラスは面倒です。任意の(x、y)座標にコンポーネントを配置する

これはSwingでも可能ですか? "レイアウトマネージャー" として

+4

さまざまな[レイアウトマネージャ](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)について知ることをお勧めします。 – trashgod

+1

いいえ、あなたは間違いなく_手動でスイングレイアウトを実行したくありません。そして、いいえ、layoutManagersについて迷惑なことは何もありません - 学習はそれ自体迷惑であると思うことを除けば;-) – kleopatra

+1

なぜ皆は第二の操作を推測していますか?多分、彼はボタンの位置を完全に制御する必要があるかもしれません(例えば、何らかの種類のゲームで移動し、ユーザーがそれらを叩くなど)。 – fortran

答えて

9

あなたがnullのレイアウトを使用する場合には、座標を設定することができます。レイアウトクラスは「迷惑な」ものではなく、正しく理解すればあなたの友人です。

私はtutorial about GridBagLayoutを読むことを提案しています。それは分かりやすい(ちょっとしたHTMLテーブル)非常に強力です。

+0

+1 LayoutManagersを推奨する、-0.5手動レイアウトを不完全にする(hach、マネージャの有用性をうまく促進する...): – kleopatra

+0

合意しました。 – Stephan

4

使用null

panel.setLayout(null); 
Button b = new Button(....); 
panel.add(b); 
b.setSize(width, height); 
b.setLocation(x,y); 

しかし、強くレイアウトを使用することをお勧めします。

http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html

+2

NullLayoutとして知られています:) – Tobias

+2

これは編集前に書いたものですが、それから誰かが^ _^ – fortran

+0

yah、thats;というようなクラスを探すことを試みるかもしれないことに気づいた – Tobias

関連する問題