See More

/* * ¹¦ÄÜ£ºÄ£ÄâÒ»¸ö¼òµ¥µÄ¼Çʱ¾£¬ÀûÓÃ»æ»æ»­¡¢×Ö·ûÁ÷½øÐÐʵÏÖ * 1¡¢²Ëµ¥£ºJMenuBar->JMenu->JMenuItem * ²Ëµ¥Ìõ£¨×î¶¥²ã£©->²Ëµ¥£¨°üº¬Ôڲ˵¥ÌõÖУ©->²Ëµ¥Ï°üº¬Ôڲ˵¥ÖУ© * 2¡¢¼òµ¥¼Çʱ¾¿ÉÒÔ£º´ò¿ªÎļþ£¬±£´æÎļþ£¬Áí´æÎļþÍ˳ö */ package com.bj.io; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.io.*; import javax.swing.event.*; public class Note_Pad extends JFrame implements ActionListener,WindowListener,KeyListener{ //Îļþ·¾¶ String dir=null; //Îı¾×´Ì¬ boolean state=false; //¶¨ÒåÎı¾Óò JTextArea jta=null; //¶¨Òå²Ëµ¥Ìõ JMenuBar jmb=null; //¶¨Òå²Ëµ¥ JMenu jm=null; //¶¨Òå²Ëµ¥Ïî,´ò¿ª JMenuItem jmi=null; //¶¨Òå²Ëµ¥Ï±£´æ JMenuItem jmi1=null; //¶¨Òå²Ëµ¥ÏÁí´æÎª JMenuItem jmi2=null; //¶¨Òå²Ëµ¥ÏÍ˳ö JMenuItem jmi3=null; //JScollPane×é¼þ JScrollPane jsp=null; public static void main(String[] args) { // TODO Auto-generated method stub //ÅжÏÊÇ·ñ´«ÈëÎļþ·¾¶£¨¼´ÊÇ·ñÓÐË«»÷´ò¿ªÎļþµÄÎļþ¹ØÁªÐÅÏ¢´«È룩 if(args.length>0){ Note_Pad np=new Note_Pad(args[0]); }else{ Note_Pad np=new Note_Pad(null); } } public Note_Pad(String dir){ this.dir=dir; jta=new JTextArea(); jsp=new JScrollPane(jta); jmb=new JMenuBar(); jm=new JMenu("Îļþ"); //jmi=new JMenuItem("´ò¿ª", new ImageIcon("images/notepad3.jpg"));//´øÍ¼±ê²Ëµ¥Ïî jmi=new JMenuItem("´ò¿ª"); jmi1=new JMenuItem("±£´æ"); jmi2=new JMenuItem("Áí´æÎª"); jmi3=new JMenuItem("Í˳ö"); //×¢²á´ò¿ªÊ¼þ jmi.addActionListener(this); jmi.setActionCommand("open"); //×¢²á±£´æÊ¼þ jmi1.addActionListener(this); jmi1.setActionCommand("save"); //×¢²áÁí´æÎªÊ¼þ jmi2.addActionListener(this); jmi2.setActionCommand("saveAs"); //×¢²áÍ˳öʼþ jmi3.addActionListener(this); jmi3.setActionCommand("exit"); //×¢²á´°¿Úʼþ this.addWindowListener(this); //×¢²áÎı¾Óòʼþ£¬¼à²âÊÇ·ñÓÐÎı¾¸Ä±ä jta.addKeyListener(this);; //°Ñjm¼ÓÈëjmbÖÐ jmb.add(jm); //°Ñjmi¼ÓÈëjmÖÐ jm.add(jmi); jm.add(jmi1); 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); } //´ò¿ªÎļþ public void open(){ //¶Ô»°¿ò״̬ int option=-1; //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(); //¸øÎļþ·¾¶¸³Öµ this.dir=filepath; System.out.println("dir:"+this.dir); 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+"\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(); } } } } //±£´æ public void save(){ if(this.dir==null){ saveAs(); }else{ //µÃµ½Îļþ¾ø¶Ô·¾¶ String filepath=this.dir; //¸øÎļþ·¾¶¸³Öµ this.dir=filepath; 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