package medsavant.search; import javax.swing.BoxLayout; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import org.ut.biolab.mfiume.query.SearchConditionItem; import org.ut.biolab.mfiume.query.view.SearchConditionEditorView; /** * * @author mfiume */ public class ExampleSearchConditionEditorView extends SearchConditionEditorView { private JTextField inputField; public ExampleSearchConditionEditorView(SearchConditionItem i) { super(i); init(); } @Override public void loadViewFromSearchConditionParameters(String encoding) throws SearchConditionEditorView.ConditionRestorationException { if (encoding != null) { inputField.setText(encoding.replace("chr", "")); } } private void init() { this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); this.add(new JLabel("chr")); inputField = new JTextField(); inputField.setColumns(5); this.add(inputField); inputField.addCaretListener(new CaretListener() { @Override public void caretUpdate(CaretEvent e) { encodeAndSaveConditionSettings(); } }); } private void encodeAndSaveConditionSettings() { String input = inputField.getText(); String encoding = "chr" + input; this.item.setSearchConditionEncoding(encoding); this.item.setDescription(encoding); } }