1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
   |  
/*
 * MyColumnModel.java
 * is a bean that can be saved/loaded using XMLEncoder/XMLDecoder
 */
import java.util.*;
import javax.swing.table.*;
 
public class MyColumnModel extends DefaultTableColumnModel {
 
    private Object[] columnData = new Object[]{
        "Title 1", 100, //column 1: header value, width
        "Title 2", 50,  //column 2: header value, width
        "Title 3", 50,  //column 3: header value, width
        "Title 4", 50   //column 4: header value, width
    };
 
    public MyColumnModel() {
        super();
        for (int i = 0; i < columnData.length; i += 2) {
            String title = (String) columnData[i];
            Integer width = (Integer) columnData[i + 1];
            TableColumn tableColumn = new TableColumn(i / 2, width);
            tableColumn.setHeaderValue(title);
            addColumn(tableColumn);
        }
    }
 
    public Vector<TableColumn> getTableColumns() {
        return tableColumns;
    }
 
    public void setTableColumns(Vector<TableColumn> tableColumns) {
        this.tableColumns = tableColumns;
    }
} |