我想创建一个在我的系统中显示为粘滞便笺的提醒。我最初的想法是有一个文本区域可以使用保存的.txt文件更新(这是一个坏主意,所以我无法向您显示代码)。 即使用户退出系统,我也希望保存我的提醒。你能提出什么建议? 谢谢。 PS。如果我没有说清楚,请告诉我。
这是当用户想要在系统中提供笔记等提醒时可以编辑的文本区域。
编辑:我只是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();
用于保存提醒但它无法正常工作。请帮我。
答案 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();
}
});
}
}