찾다

 >  Q&A  >  본문

java - why cannot read int value from JTextField

JTextField t1 = new JTextField(" ");
String a = t1.getText(); 
int intA = Integer.parseInt(a); 
System.out.println(intA);

Error

java.lang.NumberFormatException: For input string: "1 "

附上我的代码

public class Testing extends JPanel {

    public int s;

    public Testing() {

        JPanel p = new JPanel();
        JTextField t1 = new JTextField(" ");
        JTextField t2 = new JTextField(" ");
        JTextField t3 = new JTextField(" ");
        JButton b3 = new JButton("result");

        p.add(t1);
        p.add(t2);
        p.add(t3);
        p.add(b3);
        add(p);

        b3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    String a = t1.getText();
                    int intA = Integer.parseInt(a);
                    System.out.println(intA);
                    // String b = t2.getText();
                    //t3.setText(a+"");
                } catch (NumberFormatException ignored) {
                    System.out.println(ignored);
                }
            }
        });
    }

    public static void main(String... arg) {
        Testing p = new Testing();
        JFrame frame = new JFrame();
        frame.add(p);
        frame.setLocationRelativeTo(null);
        frame.pack();
        frame.setVisible(true);
    }
}
大家讲道理大家讲道理2813일 전633

모든 응답(2)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-18 10:58:26

    //가이드 패키지.
    javax.swing.* 가져오기;
    java.awt.event.* 가져오기;

    클래스 JTextFieldDemo
    {

    으아아아

    }

    정리하자면
    위의 문제는 내용을 입력한 후 jtf.getText() 메소드를 실행해야 하는데 포스터에 표시된 코드에서는 런타임에 실행되도록 허용하므로 오류가 발생합니다. 보고됩니다. (저의 겸허한 생각입니다 ㅎㅎ)

    회신하다
    0
  • 迷茫

    迷茫2017-04-18 10:58:26

    @Sjs_k님의 답변에 감사드립니다

    JTextField t1 = new JTextField("");JTextField t1 = new JTextField(5);로 바꾸면 괜찮습니다

    회신하다
    0
  • 취소회신하다