sclass ShowComboBoxForm { S desc; S itemDesc; LS items; S defaultValue; IVF1 action; JComboBox cb; S selected() { ret selectedItem(cb); } void run aka show() { cb = jComboBox(items, defaultValue); showFormTitled(desc, "", jlabel(desc), itemDesc, cb, rThread { S item = selected(); printVars(+item, +action); if (nempty(item)) action.get(item); }); } }