System.err.println("Click on table header header #"+mColIndex);
Debug.msg("Click on table header header #"+mColIndex);
    public void mouseClicked(MouseEvent evt) {        JTable table = ((JTableHeader)evt.getSource()).getTable();        TableColumnModel colModel = table.getColumnModel();        // The index of the column whose header was clicked        int vColIndex = colModel.getColumnIndexAtX(evt.getX());        int mColIndex = table.convertColumnIndexToModel(vColIndex);        // Return if not clicked on any column header        if (vColIndex == -1) {            return;        }        System.err.println("Click on table header header #"+mColIndex);                // Determine if mouse was clicked between column heads        Rectangle headerRect = table.getTableHeader().getHeaderRect(vColIndex);        if (vColIndex == 0) {            headerRect.width -= 3;    // Hard-coded constant        } else {            headerRect.grow(-3, 0);   // Hard-coded constant        }        if (!headerRect.contains(evt.getX(), evt.getY())) {            // Mouse was clicked between column heads            // vColIndex is the column head closest to the click            // vLeftColIndex is the column head to the left of the click            int vLeftColIndex = vColIndex;            if (evt.getX() < headerRect.x) {                vLeftColIndex--;            }        }    }