java - 我的 JTable 未扩展到其所在面板的整个宽度

标签 java swing jtable size

如何让我的 JTable 使用父面板的完整可用功能?我尝试使用 setSize 或 setPreferredSize 但这不起作用。后者实际上制作了该表的一个非常小的版本。

JPanel panel = new JPanel(new GridBagLayout());
    GridBagConstraints constraints = new GridBagConstraints();
    constraints.gridx = 0;
    constraints.gridy = 0;
    constraints.insets = new Insets(0, 0, 25, 15); 
String[] columnNames = {"A", "B", "C", "D", "E"};
        Object[][] data = new Object[20][columnNames.length];
        for( int i = 0; i < 20; i++ ){
            data[i] = new Object[]{"Some other stuff that is long", "K", "1234567891011121314", "R", "T"};
        }

        JTable skillTable = new JTable(data, columnNames);
        skillTable.setFillsViewportHeight(true );
        JScrollPane scrollTable = new JScrollPane(skillTable);
        constraints.fill = constraints.HORIZONTAL;
        panel.add(scrollTable, constraints);

这就是它的样子:/image/P4b6A.png

最佳答案

使用 BorderLayout 简洁明了

 JPanel panel = new JPanel(new BorderLayout());
    String[] columnNames = {"A", "B", "C", "D", "E"};
    Object[][] data = new Object[20][columnNames.length];
    for (int i = 0; i < 20; i++) {
        data[i] = new Object[]{"Some other stuff that is long", "K", "1234567891011121314", "R", "T"};
    }

    JTable skillTable = new JTable(data, columnNames);
    skillTable.setFillsViewportHeight(true);
    JScrollPane scrollTable = new JScrollPane(skillTable);
    panel.add(scrollTable, BorderLayout.CENTER);

    //as you said you want to add a button as well
    JPanel buttonpanel=new JPanel();
    buttonpanel.add(new JButton("Test"));
    panel.add(buttonpanel,BorderLayout.SOUTH);

enter image description here

关于java - 我的 JTable 未扩展到其所在面板的整个宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31324300/

相关文章:

java - 在 Java 中获取特定于语言环境的日期/时间格式

java - 我可以在一个 Java 项目中有多个包含 main() 方法的类吗?

java - 用于选择的 JTable 模型的适当集合

java - jPanel 的背景图像不工作

java - 自动生成JButtons的方法?

java - JTable : Button working, 内的 JButton 但单击时文本消失

java - 添加、删除、更新数据时如何刷新 JTable

java - 在 MAC OS X 10.11 上使用 Homebrew 软件安装 ant 无法正常工作

java - GenericArrayType 接口(interface)的实例

netbeans 中的 Java 程序无法正常运行,但在调试时工作得很好