package gui.component; import java.awt.BorderLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import expr.Ident; import ast.evaluate.Int; import ast.evaluate.Undefined; import ast.evaluate.Value; public class TextField extends Control implements KeyListener{ private JPanel textPanel; private JTextField textField; public TextField(String text, Ident id) { super(); textPanel = new JPanel(); textField = new JTextField(15); JLabel label=new JLabel(text); label.setLabelFor(textField); //System.out.println(label); textPanel.add(label); textPanel.add(textField, BorderLayout.CENTER); textField.addKeyListener(this); } @Override public JComponent getComponent() { return textPanel; } @Override public Value getValue() { if(!textField.getText().equals("")){ //System.out.println("getvalue of textfield " + textField.getText()); 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) { } }