如何从 JTextArea 获取文本?

发布于 2024-10-22 07:47:13 字数 845 浏览 4 评论 0原文

我在 JFrame 和 JButton 上有一个 JTextArea。

当用户在 JTextArea 文本区域上键入字符并按下按钮时,我希望将信息保存在文本文件中。

JTextArea textArea = new JTextArea(2, 20);
    textArea.setLineWrap (true);

    thehandler4 handler4 = new thehandler4(); // next button 
    button4.addActionListener(handler4);


    private class thehandler4 implements ActionListener{ //next button  
        public void actionPerformed(ActionEvent event){


        PrintWriter log = null;
        try {

                FileWriter logg =new FileWriter("logsheet.txt",true);
                log = new PrintWriter(logg);

                log.println("Quick Notes: "+textArea);
                log.close();
            } catch( Exception y ) {    y.printStackTrace();    } 

    }}

但是当我打开 logsheet.txt 时,我看不到任何东西。它为空。是否有我需要的函数,例如 textArea.getText();我尝试过,但出现错误。

I have a JTextArea on a JFrame and a JButton.

When user types characters on the JTextArea textArea and presses the button, I want the information to be saved in a textFile.

JTextArea textArea = new JTextArea(2, 20);
    textArea.setLineWrap (true);

    thehandler4 handler4 = new thehandler4(); // next button 
    button4.addActionListener(handler4);


    private class thehandler4 implements ActionListener{ //next button  
        public void actionPerformed(ActionEvent event){


        PrintWriter log = null;
        try {

                FileWriter logg =new FileWriter("logsheet.txt",true);
                log = new PrintWriter(logg);

                log.println("Quick Notes: "+textArea);
                log.close();
            } catch( Exception y ) {    y.printStackTrace();    } 

    }}

But when I open the logsheet.txt, I don't see any thing. its null. is there a function I need like textArea.getText(); i tried that but I get an error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小兔几 2024-10-29 07:47:13

我猜你的问题是你将文本区域定义为类变量和局部变量。您的 ActionListener 正在访问为 null 的类变量。

//JTextArea textArea = new JTextArea(2, 20); // this is wrong, you don't want a local variable
textArea = new JTextArea(2, 20);

此外,使用 textArea.write(...) 方法是执行此操作的正确方法。您不想使用 getText() 方法,因为该方法可能会导致字符串中包含错误的换行符。

I'm guessing your problem is that you have your text area defined as a class varaible and a local variable. Your ActionListener is accessing the class variable which is null.

//JTextArea textArea = new JTextArea(2, 20); // this is wrong, you don't want a local variable
textArea = new JTextArea(2, 20);

Also, using the textArea.write(...) method is the proper way to do this. You don't want to use the getText() method, because that approach may result in the wrong newline characters being contained in the string.

关于从前 2024-10-29 07:47:13

您可以执行以下操作:

JTextArea textArea = new JTextArea(2, 20);
FileWriter logg =new FileWriter("logsheet.txt",true);
textArea.write(logg);

write() 方法允许您将文本从文本区域写入写入器。

You could do the following instead:

JTextArea textArea = new JTextArea(2, 20);
FileWriter logg =new FileWriter("logsheet.txt",true);
textArea.write(logg);

The write() method allows you to write text from text area to a writer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文