try { colModel.getColumnIndex(JFritz.getMessage("port")); } catch (IllegalArgumentException iae) {   colModel.addColumn(jfritz.getJframe().getCallerTable()
if (getCallerTable().getColumnIndex("port") == -1) { colModel.addColumn(jfritz.getJframe().getCallerTable()
	public void showConfigDialog() {		configDialog = new ConfigDialog(this);		configDialog.setLocationRelativeTo(this);		if (configDialog.showDialog()) {			configDialog.storeValues();			jfritz.saveProperties();			if (jfritz.getSIPProviderTableModel().getProviderList().size() == 0) { // Noch				// keine				// SipProvider				// eingelesen.				try {					Vector data = JFritzUtils.retrieveSipProvider(JFritz							.getProperty("box.address", "192.168.178.1"),							Encryption.decrypt(JFritz									.getProperty("box.password")),							new FritzBoxFirmware(JFritz									.getProperty("box.firmware")));					jfritz.getSIPProviderTableModel().updateProviderList(data);					jfritz.getSIPProviderTableModel().fireTableDataChanged();					jfritz.getSIPProviderTableModel().saveToXMLFile(							JFritz.SIPPROVIDER_FILE);					jfritz.getCallerlist().fireTableDataChanged();				} catch (WrongPasswordException e1) {					jfritz.errorMsg("Passwort ung?ltig!");				} catch (IOException e1) {					jfritz.errorMsg("FRITZ!Box-Adresse ung?ltig!");				} catch (InvalidFirmwareException e1) {					jfritz.errorMsg("Firmware-Erkennung gescheitert!");				}			}			monitorButton.setEnabled((Integer.parseInt(JFritz.getProperty(					"option.callMonitorType", "0")) > 0));			TableColumnModel colModel = jfritz.getJframe().getCallerTable()					.getColumnModel();			// Show / hide CallByCall column			if (JFritzUtils.parseBoolean(JFritz.getProperty(					"option.showCallByCallColumn", "true"))) {				try {					colModel.getColumnIndex("Call-By-Call");				} catch (IllegalArgumentException iae) { // No Call-By-Call					// column found. Add					// one					colModel.addColumn(jfritz.getJframe().getCallerTable()							.getCallByCallColumn());					colModel							.getColumn(colModel.getColumnCount() - 1)							.setPreferredWidth(									Integer.parseInt(JFritz.getProperty(											"column.Call-By-Call.width", "50")));				}			} else {				try {					// Try to remove Call-By-Call Column					colModel.removeColumn(colModel.getColumn(colModel							.getColumnIndex("Call-By-Call")));				} catch (IllegalArgumentException iae) { // No Call-By-Call					// column found.				}			}			// Show / hide comment column			if (JFritzUtils.parseBoolean(JFritz.getProperty(					"option.showCommentColumn", "true"))) {				try {					colModel.getColumnIndex("Kommentar");				} catch (IllegalArgumentException iae) { // No comment					// column found. Add					// one					colModel.addColumn(jfritz.getJframe().getCallerTable()							.getCommentColumn());					colModel.getColumn(colModel.getColumnCount() - 1)							.setPreferredWidth(									Integer.parseInt(JFritz.getProperty(											"column.Kommentar.width", "50")));				}			} else {				try {					// Try to remove comment column					colModel.removeColumn(colModel.getColumn(colModel							.getColumnIndex("Kommentar")));				} catch (IllegalArgumentException iae) { // No Call-By-Call					// column found.				}			}			// Show / hide port column			if (JFritzUtils.parseBoolean(JFritz.getProperty(					"option.showPortColumn", "true"))) {				try {					colModel.getColumnIndex(JFritz.getMessage("port"));				} catch (IllegalArgumentException iae) { // No port					// column found. Add					// one					colModel.addColumn(jfritz.getJframe().getCallerTable()							.getPortColumn());					colModel.getColumn(colModel.getColumnCount() - 1)							.setPreferredWidth(									Integer.parseInt(JFritz.getProperty(											"column."													+ JFritz.getMessage("port")													+ ".width", "50")));				}			} else {				try {					// Try to remove port column					colModel.removeColumn(colModel.getColumn(colModel							.getColumnIndex(JFritz.getMessage("port"))));				} catch (IllegalArgumentException iae) { // No Call-By-Call					// column found.				}			}		}		configDialog.dispose();	}