static void selectFromList(S title, L items, final VF1 onSelect) { final JList list = jlist(items); JButton btnOK = listDependentButton(list, "OK", r { fS item = getSelectedItem(list); if (item == null) ret; disableButtonWhileCalcing2(func -> bool { callF_returnTrueIfNoException(onSelect, item) }); }); onDoubleClickOrEnter(list, rClickButton(btnOK)); showFrame(title, centerAndSouthWithMargins(list, jcenteredline(btnOK, jCancelButton()))); }