public JProgramStatTable(final Field field) {
        this.listener = new Vector<TableModelListener>();
        this.data = new Vector<Map.Entry<Program, Integer>>();
        this.field = field;

        if (field == null) {
            return;
        }

        field.addObserver(this);

        setModel(this);
        setDefaultRenderer(Program.class, this);
        setRowHeight(ROWHEIGHT);

        /* Why do we have to set MaxWidth as well? */
        getColumnModel().getColumn(0).setPreferredWidth(COLUMNWIDTH);
        getColumnModel().getColumn(0).setMaxWidth(COLUMNWIDTH * 2);
    }