package gui.component; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JComponent; import javax.swing.JTextField; import ast.value.Int; import ast.value.Undefined; import ast.value.Value; public class IntTextField extends Widget implements KeyListener{ private JTextField textField; public IntTextField() { super(); textField = new JTextField(15); textField.addKeyListener(this); } @Override public JComponent getComponent() { return textField; } @Override public Value getValue() { if(!textField.getText().equals("")){ return new Int(Integer.parseInt(textField.getText())); } return new Undefined(); } @Override public void keyReleased(KeyEvent arg0) { publishEventChange(); } @Override public void keyPressed(KeyEvent arg0) { } @Override public void keyTyped(KeyEvent arg0) { char c = arg0.getKeyChar(); if(!Character.isDigit(c)){ arg0.consume(); } } }