Java 存在文本时,getText()方法返回null

Java 存在文本时,getText()方法返回null,java,swing,jtextfield,numberformatexception,Java,Swing,Jtextfield,Numberformatexception,每当我在文本框中输入一个数字并获取文本并进行转换时,我都会得到一个异常: Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "" 下面是该类的代码: 数字生成器: 操作添加: 添加检查: 文本框当前有一个空字符串(或者可能只有空格--trim删除空格)。它没有空值。异常是因为空字符串不是有效数字。您应该捕获异常,然后在JOptionPane中使用它: try {

每当我在文本框中输入一个数字并获取文本并进行转换时,我都会得到一个异常:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
下面是该类的代码:

数字生成器: 操作添加: 添加检查:
文本框当前有一个空字符串(或者可能只有空格--
trim
删除空格)。它没有空值。异常是因为空字符串不是有效数字。您应该捕获异常,然后在JOptionPane中使用它:

try {
    Integer textNumber = Integer.parseInt(textbox);
     ...
} catch (NumberFormatException ex) {
    JOptionPane.showMessageDialog(this, ex.getMessage(), "Number Error", JOptionPane.ERROR_MESSAGE);
}

文本框当前有一个空字符串(或者可能只有空格--
trim
删除空格)。它没有空值。异常是因为空字符串不是有效数字。您应该捕获异常,然后在JOptionPane中使用它:

try {
    Integer textNumber = Integer.parseInt(textbox);
     ...
} catch (NumberFormatException ex) {
    JOptionPane.showMessageDialog(this, ex.getMessage(), "Number Error", JOptionPane.ERROR_MESSAGE);
}
您正在创建一个新的
操作添加
,其中包含一个新的空文本框。您希望该文本框有一个值,但它不会。它与您正在与之交互的任何文本框都没有任何关系



您正在创建一个新的
操作添加
,其中包含一个新的空文本框。您希望该文本框有一个值,但它不会。它与您正在与之交互的任何文本框都没有任何关系。

似乎
add.textbox
是空的。@Eng.Fouad它不是空的,我输入了数字,如2,但仍然会出现此错误您在代码中与之交互的文本框肯定是空的。很可能,GUI中的文本框与您正在与之交互的对象不同。@user2317720您是否通过调试器运行了代码?在调用
Integer.parseInt
之前使用
System.out.println(textbox)
怎么样?为了更快地获得帮助,请发布一个。似乎
add.textbox
是空的。@Eng.Fouad它不是空的,我输入了数字,比如2,我仍然收到了这个错误。您在代码中与之交互的文本框肯定是空的。很可能,GUI中的文本框与您正在与之交互的对象不同。@user2317720您是否通过调试器运行了代码?在调用
Integer.parseInt
之前使用
System.out.println(textbox)
怎么样?为了更快地获得帮助,请发布一个。其中有一个数字,它无法识别它,并且发现了问题:您正在创建一个新的
操作添加
。最简单的解决方案是将
Add\u check
类声明为嵌套在
Oper\u Add
类中。然后直接访问
文本框
,而不是创建一个新的
操作添加
。谢谢,这很有帮助。其中有一个数字,它无法识别它,并且发现了问题:您正在创建一个新的
操作添加
。最简单的解决方案是将
Add\u check
类声明为嵌套在
Oper\u Add
类中。然后直接访问
文本框
,而不是创建一个新的
操作添加
。谢谢,这对alotOk很有帮助,那么我是不是只在操作添加中添加了复选框?谢谢,这对我很有帮助,alotOk,那么我只是在操作添加中添加了复选框?谢谢,这对我很有帮助
package Main.Oper_check;
import java.awt.event.*;
import javax.swing.JOptionPane;
import Main.Oper_classes.*;


public class Add_Check implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        Oper_add add = new Oper_add();

        String textbox = add.textbox.getText().trim();
        Integer textboxC = Integer.parseInt(textbox);
        Integer total = add.Rnumber1 + add.Rnumber2;


    }

}
try {
    Integer textNumber = Integer.parseInt(textbox);
     ...
} catch (NumberFormatException ex) {
    JOptionPane.showMessageDialog(this, ex.getMessage(), "Number Error", JOptionPane.ERROR_MESSAGE);
}
Oper_add add = new Oper_add();
String textbox = add.textbox.getText().trim();
Integer textNumber = Integer.parseInt(textbox);