static A onChange(A spinner, O r) {
swing { spinner.addChangeListener(changeListener(r)); }
ret spinner;
}
static A onChange(A b, O r) {
swing { b.addItemListener(itemListener(r)); }
ret b;
}
static void onChange(JTextComponent tc, O r) {
onUpdate(tc, r);
}
static A onChange(A slider, fO r) {
swing { slider.addChangeListener(changeListener(r)); }
ret slider;
}
static JComboBox onChange(JComboBox cb, fO r) {
if (isEditableComboBox(cb))
onChange(textFieldFromComboBox(cb), r);
else
onSelectedItem(cb, voidfunc(S s) { callF(r) });
ret cb;
}