// action = runnable or method name static void onChangeAndNow(JComponent c, O r) { onUpdateAndNow(c, r); } static void onChangeAndNow(L l, O r) { onUpdateAndNow(l, r); } svoid onChangeAndNow(JTextComponent c, IVF1 r) { onUpdateAndNow(c, r); } static JComboBox onChangeAndNow(JComboBox cb, IVF1 f) { onChange(cb, f); f?.get(getSelectedItem_typed(cb)); ret cb; } static A onChangeAndNow(A tabs, Runnable r) { if (r != null) { onChange(tabs, r); r.run(); } ret tabs; } static JSlider onChangeAndNow(JSlider s, Runnable f) { if (s != null && f != null) { onChange(s, f); f.run(); } ret s; }