package qls.gui.widget.input.field; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import ql.Value; import ql.value.FloatValue; import qls.ast.statement.widget.styling.StyleProperties; import qls.gui.widget.input.Field; public class FloatField extends Field<FloatValue> implements CaretListener { public FloatField () { super(new FloatValue(0f)); } public FloatField (FloatValue value) { super(value); } @Override public void caretUpdate(CaretEvent e) { try { FloatValue newValue = getFieldValue(); handleChange(newValue, this); removeError(); } catch (NumberFormatException nfe) { setError("Not a valid float"); } } @Override protected FloatValue getFieldValue() { return new FloatValue(Float.parseFloat(textField().getText())); } public void setStyle(StyleProperties properties) { stylizer.setStyle(textField(), properties); } @Override public String convertValue(Value value) { return value.toString(); } }