static void onChange(JSpinner spinner, O r) {
spinner.addChangeListener(changeListener(r));
}
static A onChange(A b, O r) {
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 void onChange(JComboBox cb, fO r) {
if (isEditableComboBox(cb))
onChange(textFieldFromComboBox(cb), r);
else
onSelectedItem(cb, voidfunc(S s) { callF(r) });
}