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 に答える