【问题标题】:Java TableLayoutJava 表格布局
【发布时间】:2012-05-15 15:37:31
【问题描述】:

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

【问题讨论】:

  • 这并没有让我觉得具体到足以保持一个开放的 SO 问题......回答你的问题,坚持使用GridBagLayout - 一旦你了解它就不会太复杂。
  • 好吧,我对如何在 java 中构建表做了一些研究。我遇到了 TableLayout 和 GridBagLayout。 TableLayout 似乎是要走的路,但我真的无法让它发挥作用。
  • 你有什么问题?据我了解,GridBagLayout 应该可以完美地完成这项工作。

标签: java swing layout tablelayout gridbaglayout


【解决方案1】:

这是使用 TableLayout 的SSCCE,(Introduction to 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可以从here下载


也可以看看:A Visual Guide to Layout Managers,以防万一。


如果您选择 GridBagLayout,请查看:How to Use GridBagLayout

【讨论】:

  • 非常感谢您的时间和精力。真的很感激。对我帮助很大
  • @TheJAVANoob 欢迎..快乐编码! :)
  • 是否可以自定义此表格布局的单元格中对象的对齐方式(例如,单元格内的中心对象)?
猜你喜欢
  • 1970-01-01
  • 2011-10-28
  • 2013-04-24
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 2022-11-04
  • 1970-01-01
相关资源
最近更新 更多