importjava.awt.EventQueue;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjavax.swing.JFrame;importjavax.swing.JMenuBar;importjavax.swing.JMenu;importjavax.swing.JMenuItem;importjavax.swing.JSeparator;importjavax.swing.JTextArea;importjava.awt.BorderLayout;importjava.awt.Font;/**记事本的图形用户界面应用程序
*@author李祖林
* 2017-6-22*/
public class Note1 implementsActionListener{privateJFrame frame;
JMenuItem New, Open, Save, Close;/** New为新建,
* Open为打开
* Save为保存
* Close为关闭*/JTextArea textArea;
File fileName= new File("D:\\file.txt"); //默认打开文件路径
public static voidmain(String[] args) {
EventQueue.invokeLater(newRunnable() {public voidrun() {try{
Note1 window= newNote1();
window.frame.setVisible(true);
}catch(Exception e) {
e.printStackTrace();
}
}
});
}publicNote1() {
frame= newJFrame();
frame.setFont(new Font("Dialog", Font.BOLD, 18));
frame.setBounds(100, 100, 629, 412);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar= newJMenuBar();
frame.setJMenuBar(menuBar);
JMenu menu= new JMenu("\u6587\u4EF6");
menu.setFont(new Font("黑体", Font.BOLD, 18));
menuBar.add(menu);
New= new JMenuItem("\u65B0\u5EFA");
New.setFont(new Font("黑体", Font.BOLD, 18));
menu.add(New);New.addActionListener(this);
Open= new JMenuItem("\u6253\u5F00");
Open.setFont(new Font("黑体", Font.BOLD, 18));
menu.add(Open);Open.addActionListener(this);
Save= new JMenuItem("\u4FDD\u5B58");
Save.setFont(new Font("黑体", Font.BOLD, 18));
menu.add(Save);Save.addActionListener(this);
JSeparator separator= newJSeparator();
menu.add(separator);
Close= new JMenuItem("\u5173\u95ED");
Close.setFont(new Font("黑体", Font.BOLD, 18));
menu.add(Close);Close.addActionListener(this);
JMenu menu_1= new JMenu("\u7F16\u8F91");
menu_1.setFont(new Font("黑体", Font.BOLD, 18));
menuBar.add(menu_1);
JMenuItem menuItem_4= new JMenuItem("\u590D\u5236");
menu_1.add(menuItem_4);
JMenuItem menuItem_5= new JMenuItem("\u7C98\u8D34");
menu_1.add(menuItem_5);
JMenuItem menuItem_6= new JMenuItem("\u526A\u5207");
menu_1.add(menuItem_6);
textArea= newJTextArea();
frame.getContentPane().add(textArea, BorderLayout.CENTER);
}public voidactionPerformed(ActionEvent e) {if(e.getSource()==Close){
System.exit(0);
}else if (e.getSource()==Save) {
saveFile();
}else if (e.getSource()==Open){
readFile();
}else{
textArea.setText("");
}
}/*打开文件函数*/
public voidreadFile(){try{
BufferedReader bufferedReader= new BufferedReader(new FileReader(fileName)); //缓存字符流
StringBuffer buffer = newStringBuffer();
String text;while((text = bufferedReader.readLine()) != null){//buffer.append(text+"\n");
textArea.append(text+"\n");
}//textArea.setText(buffer.toString());
bufferedReader.close();
}catch(IOException e) {
System.err.println("读入文件发生错误!");
}
}/*保存文件函数*/
public voidsaveFile(){try{
BufferedWriter bufferedWriter= new BufferedWriter(newFileWriter(fileName));
String string=textArea.getText();
bufferedWriter.write(string);
bufferedWriter.close();
}catch(IOException e) {
System.err.println("保存文件发生错误!");
}
}
}