static JCheckBoxMenuItem jMenuItemStayCheckedOnClick(S text, IF0 checked, Runnable action) { var mi = swing(-> new JCheckBoxMenuItem(text, isTrue(checked!))); bindToComponent(mi, r { bool b = isTrue(checked!); setChecked(mi, b); }); addActionListener(mi, -> { if (!isChecked(mi)) setChecked(mi, true); callF(action); }); ret mi; }