public SelectionField () {
		super (SEARCHTERM, 12);
		setMaximumSize (getPreferredSize());
		setMinimumSize (getPreferredSize());
		setHorizontalAlignment (JTextField.RIGHT);

		addFocusListener (new FocusListener () {
			public void focusGained (FocusEvent e) {
				if (getText().equals (SEARCHTERM)) setText ("");
			}

			public void focusLost(FocusEvent e) {
				if (getText().isEmpty()) setText (SEARCHTERM);
			}
		});

		getDocument().addDocumentListener (new DocumentListener () {
			public void changedUpdate(DocumentEvent e) {
				if (!getText().equals (SEARCHTERM)) {
					if (!getText().isEmpty()) {
						for (FilterListModel l : connectedLists)
							l.setFilter (new Filter (getText()));
					} else {
						for (FilterListModel l : connectedLists)
							l.setFilter (null);
					}
				}
			}

			public void insertUpdate(DocumentEvent e) {
				changedUpdate (e);
			}

			public void removeUpdate(DocumentEvent e) {
				changedUpdate (e);
			}
		});
	}