繁体   English   中英

更改JTable列的宽度

[英]Change the width of JTable column

我需要更改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);
}

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

像这样:

//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);
    }

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

your_table_name.getColumnModel().getColumn(0).setPreferredWidth(50);
your_table_name.getColumnModel().getColumn(1).setPreferredWidth(100);

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

JTableName.getColumn(Object identifier)将返回该列,并设置Width将更改其宽度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM