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