0

ボックスレイアウトとJPanelを拡張するリマインダークラスがあります

setPreferredSize(new Dimension(500,500))

メインクラスにはJFrameがあります

rem = new Reminder();

            frame.setSize(900,900);
            rem.setMaximumSize(new Dimension(500,500));
            frame.getContentPane().removeAll();
            frame.setLayout(new BorderLayout());
            frame.add(rem,BorderLayout.CENTRE);
            frame.validate();
            frame.repaint();

また、サイズ(500,500)を変更せずにjframeの中央にリマインダーパネルを配置し、フレームのサイズ(900,900)を変更しないようにします。上記のコードを実行すると、remパネルが完全に展開されます。中央にレムパネルを作る方法は?

4

3 に答える 3

1

簡単な方法:AbsoluteLayoutを使用し、グラフィカルエディターを使用して「rem」を目的の場所に正確に配置します。次に、フレームに不変のサイズを設定します。

 frame.setResizable(false);
于 2013-03-14T13:00:29.817 に答える
0

を使用しないでくださいBorderLayout。それがまさにあなたが望んでいないものであるのに、なぜBorderLayoutを使用するのですか?

編集: 1 つの選択肢です。すべてを完全に自分で配置する必要がある場合は、レイアウトBoxLayoutマネージャーを使用しないこともできます。

于 2013-03-14T12:54:10.743 に答える
0

また、Borderlayout を使用したい場合は、コードのタイプミスだと確信しています。

frame.add(rem,BorderLayout.CENTRE);

次のようにする必要があります。

frame.add(rem,BorderLayout.CENTER);

あなたを悩ませているのは、この小さなことでしょうか?

于 2013-03-14T13:03:57.580 に答える