1

MiGLayout を使用していくつかの異なる JPanel を作成していますが、そのうちの 1 つのサイズを変更する際に問題があります。以下は、私が達成したいことを示す図です。

-------------------------------------------------------
|                                                     |
|                        Panel 1                      |
|                                                     |
-------------------------------------------------------
--------------------------- ---------------------------
|                         | |                         |
|         Panel 2         | |          Panel 3        |
|                         | |                         |
--------------------------- ---------------------------

私が達成したい重要なことは、パネル 1 を他の 2 つのパネルにまたがるようにすることです。このレイアウトを達成したようですが、図に示すように、パネル 1 の境界線が表示されないという問題があります。メソッドを使用してみましsetSizeたが、うまくいかないようです。

パネルを作成するために使用しているコードは次のとおりです (パネル内にウィジェットを含めていないことに注意してください)。

    // Create Panel 1
    JPanel panelOne = new JPanel();
    panelone.setSize(600, 50);
    panelOne.setBorder(BorderFactory.createTitledBorder("Panel 1"));
    panelOne.setLayout(new MigLayout());

    // Create Panel 2
    JPanel panelTwo = new JPanel();
    panelTwo.setBorder(BorderFactory.createTitledBorder("Panel 2"));
    panelTwo.setLayout(new MigLayout());

    // Create Panel 3
    JPanel panelThree = new JPanel();
    panelThree.setBorder(BorderFactory.createTitledBorder("Panel 3"));
    panelThree.setLayout(new MigLayout());

    // Add the panels to the main frame
    mainFrame.add(panelOne, "span, wrap, align center");
    mainFrame.add.add(panelTwo);
    mainFrame.add.add(panelThree);

誰かが私の図のように境界線を表示する方法を提案できますか?

4

2 に答える 2

4

これを試して:

mainFrame.getContentPane().setLayout(new MigLayout());
getContentPane().add(panelTwo);
getContentPane().add(panelThree,  "wrap");   // Wrap to next row
getContentPane().add(panelOne, "dock north");

また、GUI要素をフレーム自体ではなくメインフレームのコンテンツペインに追加していることを確認してください。

以下のコメントから編集:@AndrewThompsonと@Howardのヒントを使用することもできますnew CC.wrap():)new CC.dockNorth()

于 2011-12-03T10:29:42.583 に答える
4
panelone.setSize(600, 50);  // from original code

私はそのレイアウトを使用したことはありませんが、一般的に、レイアウトはサイズよりも優先サイズを尊重 (強制) する可能性が高くなります。

于 2011-12-03T10:41:47.903 に答える