java - JTable里面的JScrollPane单元格大小和表格大小

标签 java swing jtable jscrollpane

我有这段代码用于显示 JTable 中的一些数据:

public class ShowResults extends JFrame {

    public ShowResults(List<String> list) {

        setSize(1000, 1000);
        setLocationRelativeTo(null); //center
        setVisible(true);

        String[][] table_data = new String[pics.size()][table_header.length];

        for (int i = 0; i < pics.size(); i++) {   
            //Fill table with data
        }

        JTable table = new JTable(new DefaultTableModel(table_data, table_header)) {
            @Override
            public boolean isCellEditable(int row, int column) {
                //disable table editing
                return false;
            }
        };
        JScrollPane scroll_pane = new JScrollPane(table);

        table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        table.getTableHeader().setReorderingAllowed(false);
        table.getTableHeader().setResizingAllowed(false);

        this.setLayout(new FlowLayout());
        this.add(scroll_pane);
    }
}

但是表格看起来并不像我预期的那样。我希望滚动条仅垂直(现在是水平),表头显示整个标题名称(现在表由于某种我不知道的原因被包装)。 我该怎么办?

最佳答案

I would that scroll bar in only vertical (now is horizontal) and header of table show entire header names (now table is wrapped for some reason i don't know).

原因是你设置了新的FlowLayout作为内容 Pane 的布局管理器。该布局管理器遵循组件的首选大小,因此可以防止滚动 Pane 根据您的意愿调整大小。我会保留默认布局管理器,即 BorderLayout ,并将滚动 Pane 添加到 CENTER 位置。

另一方面,您应该在将所有组件添加到其内容 Pane 之后使框架可见。

关于java - JTable里面的JScrollPane单元格大小和表格大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27942667/

相关文章:

java - JTable 列 modelIndex 与 viewIndex

java - 柴笔 JAVA "AWT-EventQueue-0"java.lang.NumberFormatException : multiple points

java - 如何删除 Java 7 上打印对话框中的 Java 图标

java - 为什么我从 org/jfree/chart 收到 NoClassDefFoundError?

Java Swing 长线程执行

java - 在最大化我的框架之前 JLabel 不会显示

java - 使用 Grids java 格式化 JTable

java - 按下保存按钮时保存 Jtable 数据

java - 正则表达式匹配某个字符串,直到该字符串下次出现

java - ActionPerfomed 方法在内部类中不起作用