java graphics中的线程/整数解析错误

java graphics中的线程/整数解析错误,java,text,input,integer,field,Java,Text,Input,Integer,Field,我有一个文本字段: txtsides = new JTextField(); //text field for number of sides txtsides.setBounds(50, 10, 20, 30); txtsides.setColumns(3); Sides_label_panel.add(txtsides); 我必须通过以下方式在该字段中输入边数: side = Integer.parseInt(txtsides.getText());;` //set number of s

我有一个文本字段:

txtsides = new JTextField(); //text field for number of sides
txtsides.setBounds(50, 10, 20, 30);
txtsides.setColumns(3);
Sides_label_panel.add(txtsides);
我必须通过以下方式在该字段中输入边数:

side = Integer.parseInt(txtsides.getText());;` //set number of sides
但我有一个错误:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
不知道为什么。请帮忙

Integer.parseInt("some_string" );
此方法尝试将提供给它的字符串转换为整数实例。因此,如果输入不是字符串中的数字,它将失败。例如:abc、9p等,失败将是NumberFormatException——当无法将字符串格式化为数字时出现的异常


检查您是否正在传递期望传递的内容。

您试图将空字符串解析为int,但这不起作用。哪个int应该被解析为?JTextField需要有一个可以解析的文本

txtsides.addKeyListener(new KeyAdapter() {
    public void keyReleased(KeyEvent e) {
        ansTxt = (JTextField) e.getSource();
        try {
            int aInt = Integer.parseInt(ansTxt.getText());
            //Do whatever you want with the int
        } catch(NumberFormatException nfe) {
            /*
             * handle the case where the textfield 
             * does not contain a number, e.g. show
             * a warning or change the background or 
             * whatever you see fit.
             */
        }
    }
}

好吧,你得到了一个空的输入。您需要验证JTextField中的内容。如果无法解析空字符串,则应首先检查文本是否为空或是否为有效数字。您需要包括此代码的调用位置side=Integer.parseInttxtsides.getText;;'这是否在事件列表器中用于按钮单击?文本字段的按键事件侦听器?顺便说一句,这行看起来有一些额外的字符。KeyListener不是一个好的解决方案,最好使用DocumentFilter。