9

我目前想为 JPanels 构建一个表格类型的布局。我发现有一个用于 Java 的 TableLayout,但我不知道如何导入它。另一方面,我发现有一个 GridBagLayOut,它也可以构造一个类似布局的表格。但它似乎更复杂。任何建议。

4

1 回答 1

15

这是使用 TableLayout 的SSCCE,(TableLayout 简介

import javax.swing.JButton;
import javax.swing.JFrame;
import layout.TableLayout;

public class TestTableLayout {

    public static void main(String args[]) {

        JFrame frame = new JFrame("Example of TableLayout");
        frame.setSize(450, 450);

        double size[][] = {{10, 75, 75, 75, 75, 75, 10}, // Columns
            {10, 75, 75, 75, 75, 75, 10}}; // Rows

        frame.setLayout(new TableLayout(size));


        String label[] = {"(1,1)", "(1,5)", "(1,3)", "(5,3)", "(3,3)"};
        JButton button[] = new JButton[label.length];

        for (int i = 0; i < label.length; i++) {
            button[i] = new JButton(label[i]);
        }


        frame.add(button[0], "1, 1");
        frame.add(button[1], "1, 5");
        frame.add(button[2], "1, 3");
        frame.add(button[3], "5, 3");
        frame.add(button[4], "3, 3");

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

TableLayout 所需的 jar 可以从这里下载


另请查看:布局管理器的视觉指南,以防万一。


如果您选择 GridBagLayout,请查看:如何使用 GridBagLayout

于 2012-05-07T06:24:30.847 回答