グリッドレイアウトでどのように割合を設定しますか?

Javaでは、GridLayoutレイアウトマネージャを使用することでコンポーネントの比率を設定できます。

GridLayout のコンストラクタは行数とカラム数を制約する 2 つの引数を受け取ることができます。デフォルトで、GridLayout は等は幅で同じ高さです。コンポーネントの比率を設定するには、コンポーネントが占有する行数とカラム数を設定して実現できます。

以下はコンポーネントの比率を設定するためのコード例です:

import javax.swing.*;
import java.awt.*;

public class GridLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("GridLayout Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel panel = new JPanel();
        GridLayout layout = new GridLayout(3, 3); // 设置为3行3列的GridLayout
        panel.setLayout(layout);

        JButton button1 = new JButton("Button 1");
        JButton button2 = new JButton("Button 2");
        JButton button3 = new JButton("Button 3");
        JButton button4 = new JButton("Button 4");
        JButton button5 = new JButton("Button 5");

        // 设置按钮1占据3行1列
        layout.setConstraints(button1, new GridLayout.Spec(0, 0, 3, 1));
        // 设置按钮2占据1行1列
        layout.setConstraints(button2, new GridLayout.Spec(0, 1, 1, 1));
        // 设置按钮3占据1行1列
        layout.setConstraints(button3, new GridLayout.Spec(1, 1, 1, 1));
        // 设置按钮4占据1行2列
        layout.setConstraints(button4, new GridLayout.Spec(2, 0, 1, 2));
        // 设置按钮5占据1行1列
        layout.setConstraints(button5, new GridLayout.Spec(2, 1, 1, 1));

        panel.add(button1);
        panel.add(button2);
        panel.add(button3);
        panel.add(button4);
        panel.add(button5);

        frame.add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

このようにGridLayoutは行が3列が3のGridLayoutを作成し、コンポーネントの行カラムの比率をさだめます。

bannerAds