更改JTable列的宽度

时间:2015-08-31 07:50:30

标签: java swing jtable

我需要更改JTable的列宽大小。请查看以下用于显示值的代码。但我不知道如何最大化表格列的宽度。

请告诉我如何配置我的代码。

public void displayTable(JTable table){

    Vector columns = new Vector(getIndividual(0).chromosomeColumnCount()+1);

    columns.add("Staff Names");

        for(int i=0; i<getIndividual(0).chromosomeColumnCount(); i++){
             columns.add(RosterManager.getDay(i));
        }

        Vector data = new Vector();
        Vector row;

        for(int row1=0; row1<getIndividual(0).ChromosomeRowSize(); row1++){

            row = new Vector(getIndividual(0).chromosomeColumnCount());
            row.add(RosterManager.getNurse(row1).getEmpName());
            for(int col=0; col<getIndividual(0).chromosomeColumnCount(); col++){
                row.add(getIndividual(0).getShift(row1, col).getShiftName());
            }    
            data.add(row);
        }
        DefaultTableModel tableModel = new DefaultTableModel(data, columns);

        table.setModel(tableModel);
}

4 个答案:

答案 0 :(得分:0)

可以使用setPreferredWidth(27)。在方法内部,您必须添加维度。

答案 1 :(得分:0)

这样的事情:

//table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    TableColumn column = null;
    for (int i = 0; i < cols.length; i++) {
        column = table.getColumnModel().getColumn(i);
        if(i == 0 ) column.setPreferredWidth(10);
    }

答案 2 :(得分:0)

我使用这种方法来改变JTables列的宽度。只需将其添加到displayTable()方法即可。

xs zip xs.tail

答案 3 :(得分:0)

JTableName.getColumn(对象标识符).setWidth(WIDTH);

JTableName.getColumn(对象标识符)将返回列,并设置Width将更改其宽度。