/*
* åè½ï¼æ¨¡æä¸ä¸ªç®åçè®°äºæ¬ï¼å©ç¨ç»ç»ç»ãå符æµè¿è¡å®ç°
* 1ãèåï¼JMenuBar->JMenu->JMenuItem
* èåæ¡ï¼æé¡¶å±ï¼->èåï¼å
å«å¨èåæ¡ä¸ï¼->èå项ï¼å
å«å¨èåä¸ï¼
*/
package com.bj.io;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.event.*;
public class NotePad extends JFrame implements ActionListener{
//å®ä¹ææ¬å
JTextArea jta=null;
//å®ä¹èåæ¡
JMenuBar jmb=null;
//å®ä¹èå
JMenu jm=null;
//å®ä¹èå项,æå¼
JMenuItem jmi=null;
//å®ä¹èå项ï¼ä¿å
JMenuItem jmi2=null;
//å®ä¹èå项ï¼éåº
JMenuItem jmi3=null;
//JScollPaneç»ä»¶
JScrollPane jsp=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
NotePad np=new NotePad();
}
public NotePad(){
jta=new JTextArea();
jsp=new JScrollPane(jta);
jmb=new JMenuBar();
jm=new JMenu("æä»¶");
//jmi=new JMenuItem("æå¼", new ImageIcon("images/notepad3.jpg"));//另徿 èå项
jmi=new JMenuItem("æå¼");
jmi2=new JMenuItem("ä¿å");
jmi3=new JMenuItem("éåº");
//注åæå¼äºä»¶
jmi.addActionListener(this);
jmi.setActionCommand("open");
//注åä¿åäºä»¶
jmi2.addActionListener(this);
jmi2.setActionCommand("save");
//注åéåºäºä»¶
jmi3.addActionListener(this);
jmi3.setActionCommand("exit");
//æjmå å
¥jmbä¸
jmb.add(jm);
//æjmiå å
¥jmä¸
jm.add(jmi);
jm.add(jmi2);
jm.add(jmi3);
//æjspå å
¥
this.add(jsp);
//设置jmb
this.setJMenuBar(jmb);
this.setSize(800,800);
this.setLocation(100,100);
this.setTitle("è®°äºæ¬");
this.setIconImage(new ImageIcon("images/notepad3.jpg").getImage());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int option=-1;
if(e.getActionCommand().equals("open")){
//JFileChooseræä»¶éæ©å¨
JFileChooser jfc=new JFileChooser();
//设置çªå£title
jfc.setDialogTitle("æå¼æä»¶");
//æå¼çªå£ï¼åæ¶è¿åå¯¹è¯æ¡æç»ç¶æï¼ç¡®è®¤æåæ¶
option=jfc.showOpenDialog(null);
//æ¾ç¤ºçªå£
jfc.setVisible(true);
//夿æé®æ¯ç¡®è®¤ï¼åå䏿¥æä½
if(option==jfc.APPROVE_OPTION){
//å¾å°æä»¶ç»å¯¹è·¯å¾
String filepath=jfc.getSelectedFile().getAbsolutePath();
FileReader fr=null;
BufferedReader br=null;
try {
//å
å建FileReader
fr=new FileReader(filepath);
//æ°å»ºBufferedReader
br=new BufferedReader(fr);
String s="";
String str="";
//循ç¯è¯»åæ°æ®,ç¼åæµè¿è¡è¯»å,è¿åæ¯è¡è¯»åçæ°æ®ï¼èµå¼ç»s
while(null!=(s=br.readLine())){
str+=s+"\r\n";
}
//设置JTextAreaææ¬æ¾ç¤º
this.jta.setText(str);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally{
try {
br.close();
fr.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
if(e.getActionCommand().equals("save")){
//使ç¨JFileChooser
JFileChooser jfc=new JFileChooser();
//jfc设置title
jfc.setDialogTitle("å¦å为");
//jfcä¿åçªå£
option=jfc.showSaveDialog(null);
//设置çªå£å¯è§
jfc.setVisible(true);
if(option==jfc.APPROVE_OPTION){
//è·åæä»¶ç»å¯¹è·¯å¾
String filepath=jfc.getSelectedFile().getAbsolutePath();
FileWriter fw=null;
BufferedWriter bw=null;
try {
fw=new FileWriter(filepath);
bw=new BufferedWriter(fw);
String text=this.jta.getText();
//æJTextArea䏿æ¬ï¼æè¡åå
¥æ°ç»
String s[]=text.split("\n");
//éè¿å¾ªç¯ææ¯ä¸è¡åå
¥æä»¶ä¸
for(int i=0;i