4

Formattingグループ (画像の左側)でコンポーネント間のサイズを縮小したい。これを行う方法?

ここに画像の説明を入力

JPanel formattingGroup = createGroupWithName("Formatting");
        formattingGroup.setMinimumSize(new Dimension(250, 20));
        formattingGroup.setLayout(new GridLayout(5, 0));
        add(formattingGroup);

        final JCheckBox showSurface = new JCheckBox("Show surface");
        showSurface.setSelected(true);
        formattingGroup.add(showSurface);

        final JCheckBox showTerrain = new JCheckBox("Show terrain");
        showTerrain.setSelected(true);
        formattingGroup.add(showTerrain);

        final JCheckBox showVehicleStatus = new JCheckBox("Show vehicle status");
        showVehicleStatus.setSelected(true);
        formattingGroup.add(showVehicleStatus);

        JPanel pnl = createGroupWithName("Depth Stretch");
        formattingGroup.add(pnl);
        JSlider slider = new JSlider(0, 10);
        pnl.add(slider);
4

3 に答える 3

3

GridLayout を使用すると、すべてのコンポーネントが同じサイズになります。

TitledBorder と JSlider を持つ JPanel をグリッドに追加しています。したがって、チェックボックスはそのパネルと同じ垂直方向の高さになります。

パネルには別のレイアウト マネージャーを使用する必要があります。多分垂直BoxLayout。

于 2012-01-18T00:11:57.310 に答える
2

コンポーネントのサイズ変更 で説明されている、使用可能なサイズのバリエーションを確認できます。

于 2012-01-18T01:16:06.473 に答える
0

gridbaglayout を使用すると、列または行に重みを付け、間隔とパディングの値を設定できます。

12 フレームを含む Swing アプリケーションを作成しましたが、それらはすべて GridBagLayout で作成されています。

その前に他のものも試しましたが、どれも限界がありました。ここで GridBagLayout の出番です。どのように機能するかを理解し始めるのは少し難しいですが、慣れてきたら、必要な場所にコンポーネントを配置するのが最善の方法です。

必要に応じて、GridBagLayout で作成されたフレームのクールな例を示します。

于 2012-01-18T19:29:44.133 に答える