package org.fugazi.ql.gui.widgets; import org.fugazi.ql.evaluator.expression_value.BoolValue; import org.fugazi.ql.evaluator.expression_value.ExpressionValue; import javax.swing.*; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; public class CheckBox extends AbstractWidget { private JCheckBox checkBox; public CheckBox(String _label) { this.checkBox = new JCheckBox(_label); this.checkBox.setHorizontalTextPosition(SwingConstants.LEFT); this.component.add(checkBox); } @Override public void addEventListener(WidgetsEventListener _listener) { checkBox.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { _listener.stateChanged(); } } ); } @Override public BoolValue getWidgetValue() { return new BoolValue(this.checkBox.isSelected()); } @Override public void setWidgetValue(ExpressionValue _value) { BoolValue value = (BoolValue) _value; this.checkBox.setSelected(value.getValue()); } @Override public void setReadOnly(boolean _isReadonly) { this.checkBox.setEnabled(false); } }