static JMenuItem intFieldMenuItem(O o, S field) { ret intFieldMenuItem(o, field, null); } static JMenuItem intFieldMenuItem(O o, S field, Runnable onSet) { S humanized = humanizeFormLabel(field); ret jMenuItem(humanizeFormLabel(field) + "...", r { final JTextField tf = jtextfield(get(o, field)); showFormTitled(or2(stringOptPar(_, 'formTitle), "Set " + humanized), humanized + ":", tf, r { set(o, field, parseInt(gtt(tf))); callF(onSet); }); }); }