import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class FileWriteInputOutTest extends WindowAdapter implements ActionListener, TextListener
{
Frame f;
TextArea edit;
Panel p1;
Button open, newFile, save, saveAs, about;
FileDialog fd;
File file1 = null;
public static void main(String args[])
{
FileWriteInputOutTest editer = new FileWriteInputOutTest();
editer.display();
}
public void display()
{
f = new Frame("简易记事本");
f.setSize(680, 400);
f.setLocation(200, 140);
f.setBackground(Color.lightGray);
f.addWindowListener(this);
edit = new TextArea();
edit.setFont(new Font("Dialog", 0, 14));
f.add(edit);
edit.addTextListener(this);
p1 = new Panel();
p1.setLayout(new FlowLayout(FlowLayout.LEFT));
open = new Button("打开文件");
newFile = new Button("新建文件");
save = new Button("保存文件");
saveAs = new Button("另存为...");
about=new Button("关于....");
p1.add(open);
p1.add(newFile);
p1.add(save);
p1.add(saveAs);
p1.add(about);
save.setEnabled(false);
saveAs.setEnabled(false);
open.addActionListener(this);
newFile.addActionListener(this);
about.addActionListener(this);
save.addActionListener(this);
saveAs.addActionListener(this); //this指主函数中 editer 这个对象
f.add(p1, "North");
f.setVisible(true);
}
public void textValueChanged(TextEvent e)
{
save.setEnabled(true);
saveAs.setEnabled(true);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == open)
{
fd = new FileDialog(f, "打开", FileDialog.LOAD);
fd.setVisible(true);
if ((fd.getDirectory() != null) && (fd.getFile() != null))
{
try
{
file1 = new File(fd.getDirectory(),fd.getFile());
FileReader fr = new FileReader(file1);
BufferedReader br = new BufferedReader(fr);
String aline;
while((aline=br.readLine()) != null)
edit.append(aline+"\r\n");
fr.close();
br.close();
}
catch (IOException ioe) {}
}
}
if (e.getSource() == save)
{
fd = new FileDialog(f, "保存", FileDialog.SAVE);
fd.setVisible(true);
if ((fd.getDirectory() != null) && (fd.getFile() != null))
{
file1 = new File(fd.getDirectory(), fd.getFile());
save(file1);
}
}
if (e.getSource() == saveAs)
{
fd = new FileDialog(f, "另存为", FileDialog.SAVE);
fd.setVisible(true);
if ((fd.getDirectory() != null) && (fd.getFile() != null))
{
file1 = new File(fd.getDirectory(), fd.getFile());
save(file1);
}
}
if (e.getSource() == newFile)
{
edit.setText("");
//JOptionPane.showMessageDialog(null, "OK");
}
if (e.getSource() == about)
{
String message = " ----简易记事本----\n 版本:Version 1.0\n 感谢您的使用!";
JOptionPane.showMessageDialog(f, message, "关于...",JOptionPane.PLAIN_MESSAGE);
}
}
public void save(File file1)
{
try
{
FileWriter fw = new FileWriter(file1);
fw.write(edit.getText());
fw.close();
save.setEnabled(false);
saveAs.setEnabled(false);
}
catch (IOException ioe) {}
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}