2012-04-05 16 views
0

私はpanel1というパネルを持っています。私はpanel1にボタンを置き、ボタンの位置を(30,30)としたいと思います。これどうやってするの?ボタンの相対位置を設定するにはどうすればよいですか?

が、私はこれを試してみましたが、それは正しい方法ではないようです:(

 int x = panel1.getX(); 
    int y = panel2.getY(); 
    button.setLocation(x+30,y+30); 

どうもありがとう、レイアウトマネージャは良い選択であると思われるが、ここでは私の問題ですが、私は生成する必要があります多くのボタンが動的にパネル上にあり、ボタンのサイズも異なります。どのレイアウトマネージャを使用するのですか?このチュートリアルによれば、レイアウトマネージャは存在しないようです。重要な問題は、 (20,20)サイズ15のbutton1、(40,70)size 20のボタン2、(150,40)size 5のボタン3など、グリッドで整理されたように見えるボタン。

+5

フォークはnullレイアウトを使用するように指示しますが、私はこれをしないでください。代わりに、レイアウトマネージャがあなたのためにポジショニングを行うようにするのが最善の答えです。このトピックを扱うチュートリアルを調べることで、多くの利点を得ることができます。[コンテナ内のコンポーネントのレイアウト](http://docs.oracle.com/javase/tutorial/uiswing/layout/)。 –

+2

また、JPanelにコンポーネントを追加できない30ポイントのサイズの境界線を与えたい場合は、JPanelに 'EmptyBorder(30、30、30、30)'を渡してください。 –

+0

'null'レイアウトを使うときは、すべてを気にする必要があります。それは解決するより多くの問題につながります。例えば、あなたのアプリケーションは異なる 'LnF'と' Operating System'で異なって見えるでしょう。さらに、絶対位置指定では、 'set.setSize(50、30);'や 'setLocation(...)とsetSize(...) 'の別の良い代替方法を使う必要があります。 。]](http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#setBounds(int、int、int、int)) –

答えて

0

ボタンがパネルに散らばっているようにしたい。

それはこのためabsolute layoutを使用するために魅力的ですが、あなたは重複したり、お互いを隠してからボタンを維持する方法を把握する必要があると思います。それはCreating a Custom Layout Managerの価値があります。

0

form designer in NetBeansを使用して、GUIインターフェイスで互いの任意の場所にボタンを配置できます。ビルダーは手動で行うことができるGroupLayoutを使用しますが、お勧めしません。

関連する問題