public SettingsHandler(final GenericTestMonitorApplication application, final PreselectionPanel preselectionPanel) {
		_application = application;

		final String kvPid = _application.getConnection().getLocalConfigurationAuthority().getPid();
		_preferences = Preferences.userRoot().node("/gtm").node(kvPid); // durch Angabe des "/" wird vom Wurzelverzeichnis ausgegangen
		_lastUsedPreferences = _preferences.node("lastusedsettings");
		_savedPreferences = _preferences.node("savedsettings");

		_preselectionLists = preselectionPanel.getPreselectionLists();
		_preselectionTree = preselectionPanel.getPreselectionTree();
		_dataModel = _application.getConnection().getDataModel();

		_savedSettingsTable = new JTable() {
			public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
				Component comp = super.prepareRenderer(renderer, row, col);
				SettingsData settingsData = (SettingsData)_savedSettingsList.get(row);
				if(!settingsData.isValid() && !isCellSelected(row, col)) {
					comp.setForeground(Color.LIGHT_GRAY);
				}
				else if(settingsData.isValid() && !isCellSelected(row, col)) {
					comp.setForeground(getForeground());
				}
				return comp;
			}
		};
		_lastUsedSettingsTable = new JTable() {
			public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
				Component comp = super.prepareRenderer(renderer, row, col);
				SettingsData settingsData = (SettingsData)_lastUsedSettingsList.get(row);
				if(!settingsData.isValid() && !isCellSelected(row, col)) {
					comp.setForeground(Color.LIGHT_GRAY);
				}
				else if(settingsData.isValid() && !isCellSelected(row, col)) {
					comp.setForeground(getForeground());
				}
				return comp;
			}
		};

		// die Tabellen sollen nicht editierbar sein
		_savedSettingsTableModel = new DefaultTableModel() {
			public boolean isCellEditable(int row, int column) {
				return false;
			}
		};
		_lastUsedSettingsTableModel = new DefaultTableModel() {
			public boolean isCellEditable(int row, int column) {
				return false;
			}
		};

		// anordnen der Panel
		_settingsPanel = new JPanel(new BorderLayout());
		JPanel tablePanel = new JPanel(new GridLayout(2, 1));
		tablePanel.add(createSavedSettingsPanel());
		tablePanel.add(createLastUsedSettingsPanel());

		JPanel buttonPanel = new JPanel();
		buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.Y_AXIS));
		buttonPanel.add(createModuleButtonPanel());
		buttonPanel.add(Box.createVerticalStrut(10));
		buttonPanel.add(createExportImportPanel());

		setButtonWidth();

		_settingsPanel.add(tablePanel, BorderLayout.CENTER);
		_settingsPanel.add(buttonPanel, BorderLayout.EAST);

		actualizeTable();

//		Dimension dim = new Dimension(100, 205);
		Dimension dim = _settingsPanel.getPreferredSize();
		dim.setSize(dim.getWidth(), buttonPanel.getPreferredSize().getHeight());
		_settingsPanel.setPreferredSize(dim);
		_settingsPanel.setMinimumSize(dim);
	}