JAVA--簡單記事本源代碼


import javax.swing.JFrame;
import javax.swing.JTextArea;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.*;
import javax.swing.plaf.FileChooserUI;
public class notepad extends JFrame implements ActionListener{
        //定義所需要的組件
    JTextArea jta=null;
    JMenuBar jmb=null;
    JMenu jm=null;
    JMenuItem jmi1=null;
    JMenuItem jmi2=null;
    public static void main(String[]args){
        new notepad();
    }
    public notepad(){
        //把組件添加到窗體上
        jta=new JTextArea();
        jmb=new JMenuBar();
        this.add(jta);
        this.setJMenuBar(jmb);
        //設置窗體屬性
        this.setTitle("簡易記事本");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(400, 300);
        this.setVisible(true);
        //把菜單添加進菜單條
        jm=new JMenu("文件");
        jm.setMnemonic('f');
        jmb.add(jm);
        //把子菜單加入至菜單
        jmi1=new JMenuItem("打開");
        jmi2=new JMenuItem("保存");
        jmi1.setActionCommand("open");
        jmi2.setActionCommand("save");
        jm.add(jmi1);
        jm.add(jmi2);
        //為兩個字菜單注冊事件監聽
        jmi1.addActionListener(this);
        jmi2.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
        //對點擊了打開進行處理
        if(e.getActionCommand().equals("open")){
              //創建一個文件選擇組件
            JFileChooser jfc1=new JFileChooser();
            //設置文件選擇器的名字
            jfc1.setDialogTitle("請選擇文件....");
            //設置文件選擇組件的類型(打開類型)
            jfc1.showOpenDialog(null);
            //顯示該組件
            jfc1.setVisible(true);
            //獲取選擇文件的絕對路徑
            String s;
            s=jfc1.getSelectedFile().getAbsolutePath();
            //將該文件顯示到記事本上
            BufferedReader br=null;
            FileReader fr=null;
            try{
                //創建一個帶緩沖的文件讀取對象
                fr=new FileReader(s);
                br=new BufferedReader(fr);
                String text="";
                String m=null;
                //循環讀取文件
                while((m=br.readLine())!=null){
                    text+=m+"\r\n";
                }
                //將讀取的結果打印到記事本上面
                this.jta.setText(text);
            }catch(Exception e1){
                e1.printStackTrace();
            }
            finally{
                  //關掉打開的文件
                try{
                br.close();
                fr.close();
            }catch(Exception e2){
                e2.printStackTrace();
            }
        }
        }
        else if(e.getActionCommand().equals("save")){
            //創建一個文件選擇組件
            JFileChooser jfc=new JFileChooser();
            //設置文件選擇的名稱
            jfc.setDialogTitle("另存為");
            //設置文件選擇組件的類型(保存類型)
            jfc.showSaveDialog(null);
            //顯示該組件
            jfc.setVisible(true);
            //獲取選擇文件的絕對路徑
            String filename;
            filename=jfc.getSelectedFile().getAbsolutePath();
            //將記事本內的文本保存至該路徑
            BufferedWriter bw=null;
            FileWriter fw=null;
            try{
                //創建文件輸出文件
                fw=new FileWriter(filename);
                bw=new BufferedWriter(fw);
                //獲取文本
                String outtext="";
                outtext=this.jta.getText();
                //輸出文本
                fw.write(outtext);
                
            }catch(Exception e2){
                e2.printStackTrace();
            }
            finally{
                //關閉打開的輸出文件
                try{
                    bw.close();
                    fw.close();
                }catch(Exception e3){
                    e3.printStackTrace();
                }
            }
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM