package org.nlamah.QL.View.Widgets; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JCheckBox; import org.nlamah.QBase.Constants.QBaseQuestionType; import org.nlamah.QBase.Constants.UIConstants; import org.nlamah.QL.Model.Expression.Literal.BooleanLiteral; import org.nlamah.QL.View.Form.Abstract.WidgetView; @SuppressWarnings("serial") public class CheckboxWidgetView extends WidgetView implements ItemListener { private JCheckBox checkbox; public CheckboxWidgetView() { super(QBaseQuestionType.BOOLEAN); initializeComponents(); addComponentsToView(); layoutView(); } @Override public void layoutView() { } @Override public void initializeComponents() { BooleanLiteral defaultValue = (BooleanLiteral)UIConstants.defaultValueForQuestionType(QBaseQuestionType.BOOLEAN); checkbox = new JCheckBox("Yes", defaultValue.primitiveValue()); checkbox.addItemListener(this); } @Override public void addComponentsToView() { add(checkbox); } @Override public void itemStateChanged(ItemEvent e) { switch (e.getStateChange()) { case ItemEvent.SELECTED: widgetViewDelegate.valueChanged(new BooleanLiteral(true)); break; case ItemEvent.DESELECTED: widgetViewDelegate.valueChanged(new BooleanLiteral(false)); break; default: break; } } }