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);
}
}
//가이드 패키지.
javax.swing.* 가져오기;
java.awt.event.* 가져오기;
클래스 JTextFieldDemo
으아아아{
}
정리하자면
위의 문제는 내용을 입력한 후 jtf.getText() 메소드를 실행해야 하는데 포스터에 표시된 코드에서는 런타임에 실행되도록 허용하므로 오류가 발생합니다. 보고됩니다. (저의 겸허한 생각입니다 ㅎㅎ)
@Sjs_k님의 답변에 감사드립니다
JTextField t1 = new JTextField("");
을JTextField t1 = new JTextField(5);
로 바꾸면 괜찮습니다