如何在Netbeans中创建可由用户编辑的提醒?

时间:2017-04-28 13:54:58

标签: java swing

我想创建一个在我的系统中显示为粘滞便笺的提醒。我最初的想法是有一个文本区域可以使用保存的.txt文件更新(这是一个坏主意,所以我无法向您显示代码)。 即使用户退出系统,我也希望保存我的提醒。你能提出什么建议? 谢谢。 PS。如果我没有说清楚,请告诉我。

这是当用户想要在系统中提供笔记等提醒时可以编辑的文本区域。

image

编辑:我只是Netbeans的初学者,所以我有这段代码:

try {
////    reader = new BufferedReader(new FileReader("C:\\Users\\cqm005\\Documents\\NetBeansProjects\\MASYhista\\ReminderText.txt"));
//    String text = null;
//
//    // repeat until all lines is read
//    while ((text = reader.readLine()) != null) {
//        contents.append(text)
//            .append(System.getProperty(
//                "line.separator"));
//    }
//} catch (FileNotFoundException e1) {
//    e1.printStackTrace();
//} catch (IOException e1) {
//    e1.printStackTrace();
//} finally {
//    try {
//        if (reader != null) {
//            reader.close();
//        }
//    } catch (IOException e1) {
//        e1.printStackTrace();
//    }
//}
//ReminderEditText.setText(contents.toString());

- 从.txt文件中检索数据

我只是使用

       outStream.print(ReminderEditText.getText());

                    outStream.close();
                    RefreshReminder();

用于保存提醒但它无法正常工作。请帮我。

1 个答案:

答案 0 :(得分:2)

要将文本文件中的数据保存/恢复到文本区域,请执行以下操作:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

class TextAreaLoad extends JPanel
{
    private JTextArea edit;

    public TextAreaLoad()
    {
        setLayout( new BorderLayout() );

        edit = new JTextArea(30, 60);
        add(new JScrollPane(edit), BorderLayout.NORTH);

        JButton read = new JButton("Read TextAreaLoad.txt");
        read.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                try
                {
                    FileReader reader = new FileReader( "TextAreaLoad.txt" );
                    BufferedReader br = new BufferedReader(reader);
                    edit.read( br, null );
                    br.close();
                    edit.requestFocus();
                }
                catch(Exception e2) { System.out.println(e2); }
            }
        });

        add(read, BorderLayout.LINE_START);

        JButton write = new JButton("Write TextAreaLoad.txt");
        write.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                try
                {
                    FileWriter writer = new FileWriter( "TextAreaLoad.txt" );
                    BufferedWriter bw = new BufferedWriter( writer );
                    edit.write( bw );
                    bw.close();
                    edit.setText("");
                    edit.requestFocus();
                }
                catch(Exception e2) { System.out.println(e2); }
            }
        });

        add(write, BorderLayout.LINE_END);
    }

    private static void createAndShowGUI()
    {
        JFrame frame = new JFrame("TextArea Load");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new TextAreaLoad());
        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible(true);
    }

    public static void main(String[] args)
    {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                createAndShowGUI();
            }
        });
    }
}