0

在我的程序中,可以重新调整 jTable 的列大小。构建 jTable 时,列会自动按长度调整大小。但有时我想更改列的大小,因为当表格打印在纸上时它更具可读性。

可以显示如下图标:图标

现在在重新调整列大小时只显示鼠标

有没有人如果这是可能的以及如何做到这一点?

表代码:

        private JTable table;
    table = new JTable(model);
    table.setBounds(1, 1, 450, 0);
    JScrollPane scrollPane = new JScrollPane(table);
    panel_10.add(scrollPane);
    JTableHeader tableHeader = table.getTableHeader();
    tableHeader.setResizingAllowed(true);

也许它与我的 DefaultTableModel 有关?

            DefaultTableModel model = new DefaultTableModel();

        Statement stmt2 = connection.createStatement();
        ResultSet rs2 = stmt2.executeQuery("SELECT * FROM machinecodes WHERE type = '" + type +"'");

        while(rs2.next()){
       for(int i = 1; i < columns ; i++)
       {
            if(rs2.getString(1+i)==null) break;
            model.addColumn(rs2.getString(1+i));
       }
        }
        }
        else
        {
            for(int i = 1 ; i <= 25 ; i++)
                model.addColumn(i);

        }
        // Fetch each row from the result set
             while (rs.next()) {
                Object[] o = new Object[columns];
            // Get the data from the row using the column index
                for(int i = 0; i < columns ; i++)
            o[i]=rs.getString(i+1);

                            model.insertRow(0, o);
             }      
4

1 回答 1

2

检索 JTableHeader 并允许调整大小:

JTable yourTable;
...
JTableHeader tableHeader = yourTable.getTableHeader();
tableHeader.setResizingAllowed(true);
于 2012-10-03T08:54:40.143 回答