import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Editer extends JFrame implements ActionListener{
JFrame f;
JMenuItem menuItemOpen,menuItemSave,menuItemSaveAs,menuItemQuit;
JTextArea jtTet;
String directory = "E://";
String fileName="未命名.txt";
public Editer() {
super();
setTitle(fileName+"--Editer");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(createJMenuBar());
jtTet = new JTextArea(25,40);
JScrollPane p = new JScrollPane(jtTet);
getContentPane().add(p);
setSize(500,500);
setLocation(200,250);
setDefaultLookAndFeelDecorated(true);
setVisible(true);
}
public JMenuBar createJMenuBar(){
JMenuBar file = new JMenuBar();
JMenu begin = new JMenu("文件");
menuItemOpen= new JCheckBoxMenuItem("打开");
begin.add(menuItemOpen);
menuItemSave = new JCheckBoxMenuItem("保存");
begin.add(menuItemSave);
menuItemSaveAs = new JCheckBoxMenuItem("另存为");
begin.add(menuItemSaveAs);
menuItemQuit = new JCheckBoxMenuItem("退出");
begin.add(menuItemQuit);
menuItemOpen.addActionListener(this);
menuItemSave.addActionListener(this);
menuItemSaveAs.addActionListener(this);
menuItemQuit.addActionListener(this);
file.add(begin);
JMenu help = new JMenu("帮助");
file.add(help);
return file;
}
//此处加入代码
//实现将文件内容读取到文本编辑器中
//解决java回车换行问题,防止写入错误
public void openFile(File openFile){
try{
String text ;
BufferedReader in = new BufferedReader(new FileReader(openFile));
while((text=in.readLine())!=null){
jtTet.append(text);
jtTet.append("/r/n");
}
in.close();
}catch(IOException ex){
System.out.println("io exception!");
}
}
//此处加入代码
//实现将文本编辑器中内容写入到文件中
public void saveFile(File openFile){
try{
// BufferedWriter out = new BufferedWriter(new FileWriter(
// openFile));
FileWriter out = new FileWriter(openFile);
out.write(jtTet.getText());
out.close();
}catch(IOException ex){
System.out.println("io exception!");
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == menuItemOpen){
FileDialog myFileDialog = new FileDialog(this,"打开",FileDialog.LOAD);
myFileDialog.setLocation(250,250);
myFileDialog.setDirectory(directory);
myFileDialog.show();
directory = myFileDialog.getDirectory();
fileName = myFileDialog.getFile();
myFileDialog.dispose();
jtTet.setText("");
File openFile = new File(directory,fileName);
if(! openFile.exists()){
JOptionPane.showMessageDialog(null,"文件不存在!");
}
else
{
setTitle(fileName+"--Editer");
openFile(openFile);
}
}
if(e.getSource() == menuItemSave){
File openFile = new File(directory,fileName);
saveFile(openFile);
}
if(e.getSource() == menuItemSaveAs){
FileDialog myFileDialog = new FileDialog(this,"另存为",FileDialog.SAVE);
myFileDialog.setLocation(250,250);
myFileDialog.setDirectory(directory);
myFileDialog.show();
directory = myFileDialog.getDirectory();
fileName = myFileDialog.getFile();
myFileDialog.dispose();
File openFile = new File(directory,fileName);
saveFile(openFile);
setTitle(fileName+"--Editer");
}
if(e.getSource() == menuItemQuit){
System.exit(0);
}
}
public static void main(String[] args) {
Editer f = new Editer();
}