You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JTextField无法输出,调用getText()触发NullPointerException问题求助

解决JTextField空指针异常问题

错误原因

你在类中声明了textField1、textField2、textField3作为成员变量,但在构造函数里创建文本框时,又重新用JTextField前缀定义了同名局部变量(比如JTextField textField1 = new JTextField();)。这会导致类的成员变量始终未被初始化,一直处于null状态,所以在按钮点击事件里调用getText()时触发了空指针异常。

另外还有个隐藏问题:你定义的数组newArr长度为2(int[] newArr = new int[2];),但后续尝试给newArr[2]赋值,这会触发数组下标越界异常,需要把数组长度改成3。

修正后的代码

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import java.awt.*;
import javax.swing.*;

public class Frame extends JFrame implements ActionListener
{

    JTextField textField1;
    JTextField textField2;
    JTextField textField3;
    JButton button;
    int[] newArr = new int[3]; // 修正数组长度为3
    int num1, num2, num3;
   
    Frame()
    {
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLayout(new FlowLayout());
        this.setPreferredSize(new Dimension(500,100));
        
        // 去掉JTextField前缀,直接给类成员变量赋值
        textField1 = new JTextField();
        textField1.setPreferredSize(new Dimension(40,40));
        this.add(textField1);
        
        textField2 = new JTextField();
        textField2.setPreferredSize(new Dimension(40,40));
        this.add(textField2);
        
        textField3 = new JTextField();
        textField3.setPreferredSize(new Dimension(40,40));
        this.add(textField3);
        
        button = new JButton("Submit Guess");
        button.addActionListener(this);
        this.add(button);
        
        this.pack();
        this.setVisible(true);
    }
    
    public void actionPerformed(ActionEvent e)
    {
        if (e.getSource() == button)
        {
            newArr[0] = Integer.parseInt(textField1.getText());
            newArr[1] = Integer.parseInt(textField2.getText());
            newArr[2] = Integer.parseInt(textField3.getText());
            System.out.println(newArr[0] + newArr[1] + newArr[2]);
        }
    }
}

内容的提问来源于stack exchange,提问作者BrokenFloppyDisc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 00:35:21