java - write() 方法无法识别 TextArea

标签 java menu filewriter bufferedwriter writer

我为名为“保存”的工具栏菜单项编写了一个 ActionListener,单击时我希望程序将 TextArea l1 的内容保存到.txt 文件名为“filename”,所以这就是我想出的代码(由于程序非常长,我在这里仅粘贴了错误所在或可能所在的代码片段):

import java.awt.*;
import java.awt.event.*;

...

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.Writer;

class Progetto extends Frame {
...

  private TextArea l1 = new TextArea();
  ...

  private MenuBar menubar;
  private Menu file;
  private MenuItem save;

  ...

  salva.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
          BufferedWriter fileOut = new BufferedWriter(new FileWriter("filename.txt"));
          l1.write(fileOut);
        } catch (IOException ioe) {
          ioe.printStackTrace();
        }
      }
    });

当我运行该程序时,出现以下错误:

Error: cannot find symbol
symbol:   method write(java.io.BufferedWriter)
location: variable l1 of type java.awt.TextArea

我在文档和论坛中到处查看,但我不明白为什么会发生这个错误,也不明白如何解决它......

我该如何修复此错误?

编辑
TextArea 看起来像这样:

Jack: 9.0
Mark: 9.0
Nick: 1.0
Linn: 6.5
Jhon: 3.5

最佳答案

将操作监听器内的代码更改为:

salva.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
          String text = l1.getText();
          if ( text != null  && !text.isEmpty() )
          {
             String[] lines = text.split("\n");
             BufferedWriter fileOut = new BufferedWriter(new FileWriter("filename.txt"));
             for ( String line : lines )
             {

                fileOut.write( line, 0, line.length()-1 );
                fileOut.newLine();
             }

             fileOut.close();
          }


        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    });

关于java - write() 方法无法识别 TextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38439141/

相关文章:

Java I/O : How to append to an already existing text file

java - 使用java将数据从一个csv文件复制到另一个csv文件

java - 如何查看 Reader 是否处于 EOF?

css - 如何在 CSS 功能区菜单中制作右侧三 Angular 形?

html - 居中未知宽度的 UL 菜单,溢出问题

jquery - 如何停止页面底部的 float 菜单

java - 如何使用 Java 替换文件中的特定行?

java - 如何使用 Camunda 指定并行网关中的执行顺序?

JavaFX : How to reduce window fullscreen of other application

java - LWJGL Assimp : Loading Textures