static JTextField onEnter(JTextField tf, JButton btn) { if (btn != null) onEnter(tf, r { clickButton(btn) }); ret tf; } static JTextField onEnter(JTextField tf, O action) { if (action == null || tf == null) ret tf; tf.addActionListener(actionListener { tf.selectAll(); callF(action); }); ret tf; } static JButton onEnter(JButton btn, final O action) { if (action == null || btn == null) ret btn; btn.addActionListener(actionListener(action)); ret btn; } static JList onEnter(JList list, O action) { list.addKeyListener(enterKeyListener(rCallOnSelectedListItem(list, action))); ret list; } static JComboBox onEnter(final JComboBox cb, Runnable action) { swing { if (cb.isEditable()) { JTextField text = (JTextField) cb.getEditor().getEditorComponent(); onEnter(text, action); } else { cb.getInputMap().put(KeyStroke.getKeyStroke("ENTER"), "enter"); cb.getActionMap().put("enter", abstractAction("", r { cb.hidePopup(); callF(action); })); } } ret cb; } static JTable onEnter(final JTable table, fO action) { table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) .put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Enter"); table.getActionMap().put("Enter", new AbstractAction() { public void actionPerformed(ActionEvent e) { callF(action, table.getSelectedRow()); } }); ret table; } /*static JTextArea onEnter(final JTextArea ta, fO action) { addKeyListener(ta, enterKeyListener(action)); ret ta; }*/ static JTextField onEnter(Runnable action, JTextField tf) { ret onEnter(tf, action); }