package com.wql.www;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.io.*;
import java.io.*;
public class MyNotePad extends JFrame{
public static void main(String[] args) {
new MyNotePad();
new MyNotePad();
}
JTextArea jta = null;
JMenuBar jmb = null;
JMenu jm = null;
JMenu jm2 = null;
JMenu jm3 = null;
JMenuItem jmi_1 = null;
JMenuItem jmi_2 = null;
public MyNotePad(){
//添加组件
this.addComponent();
//添加监听
this.addActionListener();
this.setTitle(this.getTitle());
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(800, 600);
this.setVisible(true);
}
//添加监听
public void addActionListener(){
jmi_1.addActionListener(new Jmi1Listener());
jmi_2.addActionListener(new Jmi2Listener());
}
//打开菜单
class Jmi1Listener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser();
jfc.showOpenDialog(null);
jfc.setVisible(true);
Jmi1Io(jfc);
}
}
//保存菜单
class Jmi2Listener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser();
jfc.showSaveDialog(null);
jfc.setVisible(true);
Jmi2Io(jfc);
}
}
public void Jmi1Io(JFileChooser jfc){
String fileName = jfc.getSelectedFile().getAbsolutePath();
this.setTitle(fileName);
FileReader fr = null;
BufferedReader br = null;
String tempStr = "";
String str = "";
try {
fr = new FileReader(fileName);
br = new BufferedReader(fr);
while((tempStr = br.readLine()) != null){
str += tempStr + "\r\n";
}
jta.setText(str);
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
br.close();
fr.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
public void Jmi2Io(JFileChooser jfc){
String fileName = jfc.getSelectedFile().getAbsolutePath();
FileWriter fw = null;
BufferedWriter bw = null;
String str = "";
try {
fw = new FileWriter(fileName);
bw = new BufferedWriter(fw);
str = jta.getText();
bw.write(str);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
bw.close();
fw.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
//添加组件
public void addComponent(){
jta = new JTextArea();
jmb = new JMenuBar();
jm = new JMenu("文件");
jm2 = new JMenu("编辑");
jm3 = new JMenu("关于");
jmi_1 = new JMenuItem("打开");
jmi_2 = new JMenuItem("保存");
this.setTitle("记事本");
this.setJMenuBar(jmb);
jmb.add(jm);
jmb.add(jm2);
jmb.add(jm3);
jm.add(jmi_1);
jm.add(jmi_2);
this.add(jta);
}
}
JTextArea jta = null;
JMenuBar jmb = null;
JMenu jm = null;
JMenu jm2 = null;
JMenu jm3 = null;
JMenuItem jmi_1 = null;
JMenuItem jmi_2 = null;
public MyNotePad(){
//添加组件
this.addComponent();
//添加监听
this.addActionListener();
this.setTitle(this.getTitle());
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(800, 600);
this.setVisible(true);
}
//添加监听
public void addActionListener(){
jmi_1.addActionListener(new Jmi1Listener());
jmi_2.addActionListener(new Jmi2Listener());
}
//打开菜单
class Jmi1Listener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser();
jfc.showOpenDialog(null);
jfc.setVisible(true);
Jmi1Io(jfc);
}
}
//保存菜单
class Jmi2Listener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser();
jfc.showSaveDialog(null);
jfc.setVisible(true);
Jmi2Io(jfc);
}
}
public void Jmi1Io(JFileChooser jfc){
String fileName = jfc.getSelectedFile().getAbsolutePath();
this.setTitle(fileName);
FileReader fr = null;
BufferedReader br = null;
String tempStr = "";
String str = "";
try {
fr = new FileReader(fileName);
br = new BufferedReader(fr);
while((tempStr = br.readLine()) != null){
str += tempStr + "\r\n";
}
jta.setText(str);
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
br.close();
fr.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
public void Jmi2Io(JFileChooser jfc){
String fileName = jfc.getSelectedFile().getAbsolutePath();
FileWriter fw = null;
BufferedWriter bw = null;
String str = "";
try {
fw = new FileWriter(fileName);
bw = new BufferedWriter(fw);
str = jta.getText();
bw.write(str);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
bw.close();
fw.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
//添加组件
public void addComponent(){
jta = new JTextArea();
jmb = new JMenuBar();
jm = new JMenu("文件");
jm2 = new JMenu("编辑");
jm3 = new JMenu("关于");
jmi_1 = new JMenuItem("打开");
jmi_2 = new JMenuItem("保存");
this.setTitle("记事本");
this.setJMenuBar(jmb);
jmb.add(jm);
jmb.add(jm2);
jmb.add(jm3);
jm.add(jmi_1);
jm.add(jmi_2);
this.add(jta);
}
}