package edu.gui.components; import edu.parser.QL.nodes.question.Question; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Created by Steven Kok on 25/02/2015. */ public class CheckBox extends AbstractBox implements ActionListener { private final JCheckBox jCheckBox; public CheckBox(Question question) { super(question); jCheckBox = new JCheckBox(); jCheckBox.addActionListener(this); jCheckBox.setText("yes"); jCheckBox.setEnabled(true); initialize(); } public void initialize() { jCheckBox.setSelected(getQuestion().isEnabled()); } @Override public void removeEventListeners() { jCheckBox.removeActionListener(this); } @Override public void notifyObservers() { getObservers().stream() .forEach(observer -> observer.update(this)); } @Override public JComponent getComponent() { return jCheckBox; } @Override public void actionPerformed(ActionEvent e) { notifyObservers(); } public boolean isSelected() { return jCheckBox.isSelected(); } }