Debug.msg("Moving column: " + columnName + " from " + getColumnModel().getColumnIndex(columnName) + " to " + i);
	private void createColumns() {		ColumnHeaderToolTips headerTips = new ColumnHeaderToolTips();		TableColumn col = getColumnModel().getColumn(0);		col.setHeaderValue(JFritz.getMessage("type"));		headerTips.setToolTip(col, JFritz.getMessage("type_desc"));		col.setMinWidth(10);		col.setMaxWidth(1600);		col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+JFritz.getMessage("type")+".width", "32")));				col = getColumnModel().getColumn(1);		col.setHeaderValue(JFritz.getMessage("date"));		headerTips.setToolTip(col, JFritz.getMessage("date_desc"));		col.setMinWidth(10);		col.setMaxWidth(1600);				col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+JFritz.getMessage("date")+".width", "80")));						col = getColumnModel().getColumn(2);		col.setHeaderValue("Call-By-Call");		headerTips.setToolTip(col, "Benutzer Call-By-Call Anbieter");		col.setCellRenderer(new CallByCallCellRenderer());		col.setMinWidth(10);		col.setMaxWidth(1600);				col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+"Call-By-Call"+".width", "40")));				callByCallColumn = col;				col = getColumnModel().getColumn(3);		col.setHeaderValue(JFritz.getMessage("number"));		col.setCellRenderer(new NumberCellRenderer());		headerTips.setToolTip(col, JFritz.getMessage("number_desc"));		col.setCellEditor(new CallCellEditor(jfritz));        col.setMinWidth(10);        col.setMaxWidth(1600);       		col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+JFritz.getMessage("number")+".width", "100")));				col = getColumnModel().getColumn(4);		col.setHeaderValue(JFritz.getMessage("participant"));		headerTips.setToolTip(col, JFritz.getMessage("participant_desc"));		//col.setCellEditor(new TextFieldCellEditor());		col.setCellEditor(new PersonCellEditor((CallerList) getModel()));		col.setCellRenderer(new PersonCellRenderer());        col.setMinWidth(10);        col.setMaxWidth(1600);       		col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+JFritz.getMessage("participant")+".width", "100")));				col = getColumnModel().getColumn(5);		col.setHeaderValue(JFritz.getMessage("port"));		headerTips.setToolTip(col, JFritz.getMessage("port_desc"));		col.setCellRenderer(new PortCellRenderer());		col.setMinWidth(10);		col.setMaxWidth(1600);				col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+JFritz.getMessage("port")+".width", "60")));				portColumn = col;		col = getColumnModel().getColumn(6);		col.setHeaderValue(JFritz.getMessage("route"));		headerTips.setToolTip(col, JFritz.getMessage("route_desc"));		col.setCellRenderer(new RouteCellRenderer());		col.setMinWidth(10);		col.setMaxWidth(1600);				col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+JFritz.getMessage("route")+".width", "120")));				col = getColumnModel().getColumn(7);		col.setHeaderValue(JFritz.getMessage("duration"));		headerTips.setToolTip(col, JFritz.getMessage("duration_desc"));		col.setCellRenderer(new DurationCellRenderer());		col.setMinWidth(10);		col.setMaxWidth(1600);		col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+JFritz.getMessage("duration")+".width", "60")));						col = getColumnModel().getColumn(8);		col.setHeaderValue("Kommentar");		headerTips.setToolTip(col, "Kommentar");		col.setCellEditor(new CommentCellEditor(jfritz));		col.setMinWidth(10);		col.setMaxWidth(1600);		col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(		        "column."+"Kommentar"+".width", "60")));				commentColumn = col;/** 		// Kostenanzeige entfernt, da eh zu ungenau		col = getColumnModel().getColumn(9);		col.setHeaderValue("Kosten");		headerTips.setToolTip(col, "Angefallene Kosten");		col.setCellRenderer(new CostCellRenderer());		col.setMinWidth(10);		col.setMaxWidth(200);		col.setPreferredWidth(Integer.parseInt(JFritz.getProperty(				"column8.width", "60")));**/        TableColumnModel colModel = getColumnModel();        if (!JFritzUtils.parseBoolean(JFritz.getProperty(                "option.showCallByCallColumn", "true"))) {            try {                // Try to remove Call-By-Call Column                colModel.removeColumn(colModel.getColumn(colModel                        .getColumnIndex("Call-By-Call")));                Debug.msg("Hiding call-by-call column");            } catch (IllegalArgumentException iae) { // No Call-By-Call                                                     // column found.            }        }        if (!JFritzUtils.parseBoolean(JFritz.getProperty(                "option.showCommentColumn", "true"))) {            try {                // Try to remove comment column                colModel.removeColumn(colModel.getColumn(colModel                        .getColumnIndex("Kommentar")));                Debug.msg("Hiding comment column");            } catch (IllegalArgumentException iae) { // No comment                                                     // column found.            }        }        if (!JFritzUtils.parseBoolean(JFritz.getProperty(                "option.showPortColumn", "true"))) {            try {                // Try to remove port column                colModel.removeColumn(colModel.getColumn(colModel                        .getColumnIndex(JFritz.getMessage("port"))));                Debug.msg("Hiding port column");            } catch (IllegalArgumentException iae) { // No port                                                     // column found.            }        }        for (int i = 0; i < getColumnCount(); i++) {		    String columnName = JFritz.getProperty("column"+i+".name","");		    if (!columnName.equals("")) {		        Debug.msg("Moving column: " + columnName + " from " + getColumnModel().getColumnIndex(columnName) + " to " + i);	            moveColumn(getColumnModel().getColumnIndex(columnName), i);		    }		}		getTableHeader().addMouseMotionListener(headerTips);	}