【问题标题】:Nullpointer Exception Error - Trying to get text from JTextAreaNullpointer 异常错误 - 试图从 JTextArea 获取文本
【发布时间】:2017-05-10 09:49:45
【问题描述】:

我正在尝试将来自JTextArea 的文本存储到一个变量中,然后与FileWriter/BufferedWriter 结合使用以将内容保存在文件中。 它适用于普通字符串,例如:

String stored = "Example";

但我在尝试使用以下内容时总是遇到空指针异常错误:

menuItem.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e){
    HeadBar retrieve = new HeadBar();
    BufferedWriter bw = null;

    try {
      String stored = retrieve.txtarea.getText();
      FileWriter fw = new FileWriter("H:/UserInput.txt");
      bw = new BufferedWriter(fw);
      bw.write(stored);
      bw.flush();
      System.out.println("Text saved successfully.");

    } catch (IOException ex){
      System.out.println("Error:" + ex.getMessage());
    }
  }
});

方法中Headbar类的一部分:

txtarea = new JTextArea();
c.fill = GridBagConstraints.HORIZONTAL;
c.ipady = 800;
c.weighty = 5.0;
c.anchor = GridBagConstraints.CENTER;
c.gridx = 0;
c.gridwidth = 20;
c.gridy = 20;
panel.add(txtarea, c);

我做错了什么或者getText()是错误的方法?

【问题讨论】:

标签: java filewriter bufferedwriter


【解决方案1】:

首先,你应该阅读What is a NullPointerException, and how do I fix it?

然后,您应该查看堆栈跟踪,它会告诉您错误发生在哪一行。将它包含在您的帖子中会很有用。

现在,即使没有堆栈跟踪,我也可以假设 NPE 是由 retrieve.txtarea.getText(); 引起的。当您在没有设置任何txtarea 的情况下实例化retrieve 时,我认为textarea 为空,因此是NPE。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多