5
ここでは基本的な質問はほとんどありません。JPanelに追加のJPanelを追加する
は基本的に私はこのようなコードを持っている:
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(panel2(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
を、それはすべてが順調と良い作品。問題は、私がセンターに追加したい別の部分があることです。 add(newPanel(), BorderLayout.CENTER)
を使用するだけでは、明らかに機能しません。でもJPanel
をJPanel
に追加することはできますか? supersweetpanel()
された状態で
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(supersweetpanel(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
:
は、だから私は、次の変更を行ったpublic JPanel supersweetpanel() {
JPanel sswp = new JPanel();
setLayout(new BorderLayout());
add(panel2(), BorderLayout.NORTH);
return sswp;
}
は、今ではpanel1
を上書きします!私が何か他のものに設定すると(CENTER
、SOUTH
、何がありますか)、最初の2つのパネルは完全に消えます。ヘルプは非常に感謝しています。
+1です。それはそうしなければなりません。そして、継承を使用することで物事を壊れやすくすることができる理由の良い例が得られます。 – Eddie
ああ、それはまさにそれでした。美しい。 –
エディは何を言った。ほとんどのSwingチュートリアル(そしてSwing GUI)にはこのような悪いコードがあります。 –