2

1 つのパネルに 2 つのパネルを追加しようとしています。問題は、最初または 2 番目のものを単独で追加すると、それらがパネルに表示されることです。しかし、両方を追加すると (//add(panel2, BorderLayout.SOUTH); をコメント外に)、それらのいずれも表示されません。Weblabel("Test") は常に表示されています。現在、両方のパネルに onclick メソッドがあり、それらが表示されない場合 (両方が追加されている場合)、パネルがあるはずの場所をクリックすると、onclick は引き続き機能します。

私はすでに他のレイアウトマネージャーを試しましたが、成功しませんでした。この問題がどこから来るのか誰にもわかりませんか?

setLayout(new BorderLayout());
add(panel1,BorderLayout.NORTH);
add(new WebLabel("Test"), BorderLayout.CENTER);
//add(panel2,BorderLayout.SOUTH);

コンストラクターで両方のパネルを初期化します。

public MultipleFloorPlanEntityPanel(int xCoordinate, int yCoordinate,   FloorPlanEntityPanel panel1, FloorPlanEntityPanel panel2){
    this.xCoordinate = xCoordinate;
    this.yCoordinate = yCoordinate;
    this.panel1 = panel1;
    this.panel2 = panel2;
    layoutComponents();
}

解決済み:余分なパネルを再初期化し、それが機能しました:)

4

1 に答える 1

2

必要なパネルには 2 つのパネルが含まれていますか? これを試して

JPanel top = new JPanel(new GridLayout(1,1))
JPanel left = new JPanel();
JPanel right = new JPanel();
top.add(left);
top.add(right);
JFrame frame = new JFrame();
frame.add(top);
frame.setSize(400,400);
frame.setVisible(true);
于 2013-10-30T07:11:20.817 に答える