0

これは私が扱っているコードです: http://pastie.org/1501054これを実行すると、何らかの理由で 2 つのパネルが重なります。これはなぜですか?修正できる方法はありますか?

引数として提供される ActionListener は、プログラムのこの部分には関係ありません。

また、Eclipse を使用するスイングのチュートリアルはどこにありますか?

4

4 に答える 4

0

Eclipse 用の優れた Swing チュートリアルが必要だと言うとき、GUI ビルダーまたは Swing のチュートリアルが必要ですか? Swing はレイアウトがすべてです。それを理解したら、それは簡単なことです。フロー レイアウトから始めてください。GUI ビルダーが必要な場合は、Netbeans を使用してください。それは信じられないです!

オーバーラップに関しては、オーバーラップではなく上書きです。BorderLayout.CENTERデフォルトの場所である には、パネルを 1 つだけ配置できます。並べて表示したい場合は、getContentPane().setLayout(new FlowLayout()); または単にadd(panel, BorderLayout.SOUTH)

于 2011-01-27T02:31:03.973 に答える
0

最終結果をどのようにしたいのかわかりませんが、いくつかの提案を以下に示します。

警告パネルを JFrame に追加するスニペットで

warningPanel.add(warningLabel);
contentPane.add(warningPanel);
pack(); 

JFrame.getContentPane() によって返されるコンテナである contentPane

JFrames はデフォルトでBorderLayoutを使用するため、

contentPane.add(<someComponent>)

と同じです

contentPane.add(<someComponent>, BorderLayout.CENTER)

mainPanel も同じ方法で追加しますが、同じ制約を持つ 2 つのコンポーネントを持つことはできないため、代わりに warningPanel を次のように設定します。BorderLayout.NORTH

contentPane.add(warningPanel, BorderLayout.NORTH)

また、後でコード内で呼び出すため、そのコード スニペットの pack() への呼び出しも削除します。

お役に立てれば。


PS

Eclipse での GUI 構築に関しては、Eclipse GUI ビルダー プラグインに関するこの前の質問が役に立つかもしれません。Eclipse で Swing を使用するためのチュートリアルについて話すことはできませんが、Google で簡単に検索すると、Eclipse Visual Editor プロジェクトを使用してこのチュートリアルが見つかります。

于 2011-01-27T02:36:27.487 に答える
0

コードを実行すると、重複するペインが表示されません。表示される効果のスクリーンショットを投稿していただけないでしょうか。

Eclipseのチュートリアルについて。Java GUI を構築するには、Eclipse でWindows Builder proを使用することをお勧めします。これは優れた製品 (無料) であり、サイト上の非常に優れたドキュメントです。

于 2011-01-27T02:39:28.940 に答える
0

はい、警告ラベルが最初の行に重なっています

これは、コンテンツ ペインのレイアウトを指定していないためです。修正方法は次のとおりです

contentPane.setLayout(new GridLayout(2,1));

この行を下に追加します

Container contentPane = getContentPane();

警告パネルを0と1ではなくgridlayout 1と1に変更する必要があると思います.1行と1列がまだあるからです

于 2013-01-01T07:49:28.987 に答える