package org.uva.sea.ql.interpreter.widget; import java.awt.event.FocusListener; import java.util.EventListener; import javax.swing.JComponent; import javax.swing.JTextField; import org.uva.sea.ql.ast.stmt.Question; import org.uva.sea.ql.interpreter.value.Str; import org.uva.sea.ql.interpreter.value.Value; public class StrInput extends Widget { private JTextField widget= new JTextField(); public StrInput(Question question, Value<?> value){ widget.setName(question.getIdent().getName()); setValue(value); widget.setColumns(20); } @Override public JComponent getWidget() { return widget; } @Override public void setWidget(JComponent widget) { this.widget = (JTextField) widget; } @Override public void setValue(Value<?> value) { if(value.getValue() != null) { Str strValue = (Str) value; widget.setText(strValue.getValue()); } } @Override public Value<?> getValue() { return new Str(widget.getText()); } @Override public void setActionListener(EventListener listener) { widget.addFocusListener((FocusListener)listener); } }