java表格操作之设置表格列宽

设置所有列的宽度

/**
     * 设置所有列的列宽
     * @param table
     * @param width
     */
    public void setAllColumnWidth(JTable table,int width){
        Enumeration<TableColumn> cms = table.getColumnModel().getColumns();
        while(cms.hasMoreElements()){
            cms.nextElement().setPreferredWidth(width);
        }
    }

设置指定列的宽度

    /**
     * 设置指定列的宽度
     * @param table
     * @param colname  列名 
     * @param width 
     */
    public void setColumnWidth(JTable table,Object colname,int width){
        //此方法是通过equals方法查找的,需要注意列名重复问题
        table.getColumn(colname).setPreferredWidth(width);
    }
    /**
     * 设置指定列的宽度
     * @param table
     * @param column
     * @param width
     */
    public void setColumnWidth(JTable table,int column,int width){
        table.getTableHeader().getColumnModel().getColumn(column).setPreferredWidth(width);
        table.getColumnModel().getColumn(column).setPreferredWidth(width);
    }

隐藏指定列

       /**
    * 设置隐藏列
    * @param i 所隐藏的列
    */
    public void setHideColumn(int i){
        table.getTableHeader().getColumnModel().getColumn(i).setMaxWidth(0);
        table.getTableHeader().getColumnModel().getColumn(i).setMinWidth(0);
        table.getColumnModel().getColumn(i).setMaxWidth(0);
        table.getColumnModel().getColumn(i).setMinWidth(0);    
   }
posted @ 2013-08-13 10:38  薛遗山  阅读(7724)  评论(0编辑  收藏  举报