package com.test.demo;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;
class MyNotePad extends JFrame implements ActionListener {
private JTextArea jta = null;
private JMenuBar jmb = null;
private JMenu jm = null;
private JMenuItem jmiOpen = null;
private JMenuItem jmiSave = null;
private JMenuItem jmiExit = null;
private JFileChooser jfc = null;
public MyNotePad() {
jta = new JTextArea();
this.setLayout(new BorderLayout());
this.add(jta);
jmb = new JMenuBar();
jm = new JMenu("File");
jmiOpen = new JMenuItem("open");
jmiOpen.addActionListener(this);
jmiOpen.setActionCommand("open");
jmiSave = new JMenuItem("save");
jmiSave.addActionListener(this);
jmiSave.setActionCommand("save");
jmiExit = new JMenuItem("exit");
jmiExit.addActionListener(this);
jmiExit.setActionCommand("exit");
jm.add(jmiOpen);
jm.add(jmiSave);
jm.add(jmiExit);
jmb.add(jm);
this.setJMenuBar(jmb);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400, 300);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String str = e.getActionCommand();
if (str.equals("open")) {
System.out.println("open");
jfc = new JFileChooser();
jfc.setDialogTitle("please select file");
jfc.showOpenDialog(null);
jfc.setVisible(true);
File file = jfc.getSelectedFile();
BufferedReader br = null;
try {
FileReader fReader = new FileReader(file);
br = new BufferedReader(fReader);
String readStr = "";
String allCode = "";
while ((readStr = br.readLine()) != null) {
allCode += readStr + "\r\n";
}
jta.setText(allCode);
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
} finally {
try {
br.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
} else if (str.equals("save")) {
JFileChooser jfc = new JFileChooser();
jfc.setDialogTitle("save as");
jfc.showSaveDialog(null);
File file = jfc.getSelectedFile();
BufferedWriter bw = null;
try {
FileWriter fw = new FileWriter(file);
bw = new BufferedWriter(fw);
String jtaStr = jta.getText();
bw.write(jtaStr);
} catch (Exception e2) {
// TODO: handle exception
e2.printStackTrace();
} finally {
try {
bw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
} else if (str.equals("exit")) {
System.exit(0);
}
}
}
public class TestMain {
public static void main(String[] str) {
MyNotePad notePad = new MyNotePad();
}
}