static JCheckBox jCheckBox() { ret new JCheckBox(); } static JCheckBox jCheckBox(bool checked) { ret new JCheckBox("", checked); } static JCheckBox jCheckBox(S text, bool checked) { ret new JCheckBox(text, checked); } static JCheckBox jCheckBox(S text) { ret new JCheckBox(text); } static JCheckBox jCheckBox(S text, bool checked, fO onChange) { JCheckBox cb = jCheckBox(checked, onChange); cb.setText(text); ret cb; } // onChange can be a Runnable or a voidfunc(bool) static JCheckBox jCheckBox(bool checked, fO onChange) { final JCheckBox cb = jCheckBox(checked); cb.addChangeListener(new ChangeListener { public void stateChanged(ChangeEvent e) { pcallF(onChange, cb.isSelected()); } }); ret cb; }