これは私が扱っているコードです: http://pastie.org/1501054これを実行すると、何らかの理由で 2 つのパネルが重なります。これはなぜですか?修正できる方法はありますか?
引数として提供される ActionListener は、プログラムのこの部分には関係ありません。
また、Eclipse を使用するスイングのチュートリアルはどこにありますか?
これは私が扱っているコードです: http://pastie.org/1501054これを実行すると、何らかの理由で 2 つのパネルが重なります。これはなぜですか?修正できる方法はありますか?
引数として提供される ActionListener は、プログラムのこの部分には関係ありません。
また、Eclipse を使用するスイングのチュートリアルはどこにありますか?
Eclipse 用の優れた Swing チュートリアルが必要だと言うとき、GUI ビルダーまたは Swing のチュートリアルが必要ですか? Swing はレイアウトがすべてです。それを理解したら、それは簡単なことです。フロー レイアウトから始めてください。GUI ビルダーが必要な場合は、Netbeans を使用してください。それは信じられないです!
オーバーラップに関しては、オーバーラップではなく上書きです。BorderLayout.CENTER
デフォルトの場所である には、パネルを 1 つだけ配置できます。並べて表示したい場合は、getContentPane().setLayout(new FlowLayout());
または単にadd(panel, BorderLayout.SOUTH)
最終結果をどのようにしたいのかわかりませんが、いくつかの提案を以下に示します。
警告パネルを 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 プロジェクトを使用してこのチュートリアルが見つかります。
コードを実行すると、重複するペインが表示されません。表示される効果のスクリーンショットを投稿していただけないでしょうか。
Eclipseのチュートリアルについて。Java GUI を構築するには、Eclipse でWindows Builder proを使用することをお勧めします。これは優れた製品 (無料) であり、サイト上の非常に優れたドキュメントです。
はい、警告ラベルが最初の行に重なっています
これは、コンテンツ ペインのレイアウトを指定していないためです。修正方法は次のとおりです
contentPane.setLayout(new GridLayout(2,1));
この行を下に追加します
Container contentPane = getContentPane();
警告パネルを0と1ではなくgridlayout 1と1に変更する必要があると思います.1行と1列がまだあるからです