2011-07-11 7 views
2

NetBeansの初心者として、NetBeans 7.0を使用したかなり単純な2パネルのGUIをレイアウトしています。囲む範囲内に位置する場所にとどまるために、いくつかのコンポーネント(JButtons、JLabels、JSlider)を取得するのが最も夢中ですJPanel!NetBeans IDEを使用してJava/Swing GUIコンポーネントの配置を制御するにはどうすればよいですか?

たとえば、ボタンの1つを囲むパネルの左上隅にドラッグすると、ガイドラインは表示されません。リリースすると、パネルの中央に向かってズームし、配置の妨げになりますパネルと、最終的にはJFrameの両方を拡大します。これは、ボタンが何らかの形でそれ以上の大きさを想像しているか、端の周りにもっと多くの部屋を必要としているかのようです。

私は、自分の問題を容易に診断できる経験がある人にとって十分な情報であることを望みます。それ以外の場合は、フォローアップの質問に答えようとします。

答えて

1

GUIビルダーを使用する前に、レイアウト仕様と物事がどのように適合するかを学ぶことをお勧めします。あなたはNetbeansをファイル補完とデバッガを備えた洗練されたエディタとして使用し、物事を理解するまで普通のクラスで最初のSwingコードを書くことができます。

あなたはツールの機能をよく理解できます。

Netbeansは、グラフィカルに非常に使いやすいデフォルトのフリーデザインレイアウトを提供しますが、生成されたコードは奇妙なものですが、良いニュースはあなたがそれに対処する必要がないということです。

パネルに罫線を追加すると、コンポーネントをドラッグアンドドロップしてパネルのサイズを変更したときの動作を確認できます。

+0

NetBeansのGUIビルダーに関しては、少なくともあなたのアドバイスを受けたいと思っています。初心者には向いていません。 (私はJListのプロパティを編集して5つのデフォルト項目を削除し、ウィジェットは元の幅の2倍に吹き飛ばしました!私は理解できませんが、ここには魔法があります)Eclipseで作業したいと思うので、 NetBeansで前後に切り替えようとする苦痛。 – Chap

+0

Eclipseは問題ありませんが、NetbeansのMatisse実装は無敵です。 GUIビルダーを使用してレイアウトを学ぶと、すぐに生産性が向上します。 Eclipseに同等のソリューションがなければ、Netbeansに戻ります。 MatisseはMyEclipseでも実装されています。 –

+0

コーディングするには悪いイントロをテキストで見つけました。(http://zetcode.com/tutorials/javaswingtutorial/) – Chap

2

JPanelで使用するLayoutManagerを指定する必要があります。デフォルトのLayoutManagerはFlowLayoutで、発生している動作を担当します。 GridBagLayoutまたはBoxLayoutを使用して、コンポーネントの配置をより詳細に制御できます。

+0

残念ながら、GridBagまたはBoxに切り替えると、状況が悪化しました(間違いなく、これは中途半端で、これは正しい方法ではない可能性があります)。 – Chap

0

まず、そのボタンのResizableプロパティをfalseに変更します。デフォルトではtrueです。 の場合は、ボタンを選択し、右側のプロパティウィンドウでそのプロパティをレイアウトグループに表示します。 アンカーリングが正しく行われていることも確認します。場合によっては、左側に追加するコンポーネントが右または上/下に固定されることがあります。このためには、ボタンを右クリックし、「アンカー」に行き、適切な値を選択します。 これがあなたを助けてくれることを願っています。

関連する問題