Java檔案(io)編程——簡易記事本開發

來源:互聯網
上載者:User

標籤:one   rgs   int   frame   get   使用者   ima   pad   menuitem   

  1 public class NotePad extends JFrame implements ActionListener{  2   3     //定義需要的組件  4     JTextArea jta=null;                    //多行文字框  5       6     JMenuBar jmb=null;                     //菜單條  7     JMenu jm1=null;                        //菜單  8     JMenuItem jmi1=null,jmi2=null;         //功能表項目  9      10     public static void main(String[] args) { 11         NotePad np=new NotePad(); 12  13     } 14      15     public NotePad(){                     //建構函式 16          17         jta=new JTextArea();              //建立jta 18         jmb=new JMenuBar(); 19         jm1=new JMenu("檔案"); 20         jm1.setMnemonic(‘F‘);             //設定助記符 21          22         jmi1=new JMenuItem("開啟",new ImageIcon("imag_3.jpg"));     23         jmi1.addActionListener(this);     //註冊監聽 24         jmi1.setActionCommand("open"); 25  26         jmi2=new JMenuItem("儲存"); 27         jmi2.addActionListener(this); 28         jmi2.setActionCommand("save"); 29          30         this.setJMenuBar(jmb);            //加入 31          32         jmb.add(jm1);                     //把菜單放入菜單條 33          34         jm1.add(jmi1);                    //把item放入到Menu中 35         jm1.add(jmi2); 36          37         this.add(jta);                   //放入到JFrame 38          39         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 40         this.setSize(400,300); 41         this.setTitle("記事本"); 42         this.setIconImage((new ImageIcon("imag_2.jpg")).getImage()); 43         this.setVisible(true); 44     } 45  46     @Override 47     public void actionPerformed(ActionEvent arg0) { 48         //判斷是哪個菜單被選中 49         if(arg0.getActionCommand().equals("open")){ 50              51             //JFileChooser,建立一個檔案選擇組件 52             JFileChooser jfc1=new JFileChooser(); 53             jfc1.setDialogTitle("請選擇檔案……");  //設定名字 54              55             jfc1.showOpenDialog(null);           //預設 56             jfc1.setVisible(true);               //顯示 57              58             //得到使用者選擇的檔案全路徑 59             String filename=jfc1.getSelectedFile().getAbsolutePath(); 60              61             FileReader fr=null; 62             BufferedReader br=null; 63              64             try { 65                 fr=new FileReader(filename); 66                 br=new BufferedReader(fr); 67              68                 //從檔案中讀取資訊並顯示到jta 69                 String s=""; 70                 String allCon=""; 71                 while((s=br.readLine())!=null){   //迴圈讀取檔案,s不為空白即還未讀完畢      72                     allCon+=s+"\r\n"; 73                 }  74  75                 jta.setText(allCon);              //放置到jta 76              77             } catch (Exception e) { 78                 e.printStackTrace(); 79             }finally{ 80                  81                 try { 82                     fr.close(); 83                     br.close(); 84                 } catch (Exception e) { 85                     e.printStackTrace(); 86                 } 87             }     88         }else if(arg0.getActionCommand().equals("save")){ 89             //出現儲存對話方塊 90             JFileChooser jfc2=new JFileChooser(); 91             jfc2.setDialogTitle("另存新檔……"); 92             jfc2.showSaveDialog(null);                //按預設的方式顯示 93             jfc2.setVisible(true); 94              95             //得到使用者希望把檔案儲存到何處,檔案全路徑 96             String filename2=jfc2.getSelectedFile().getAbsolutePath(); 97              98             //準備寫入到指定檔案 99             FileWriter fw=null;100             BufferedWriter bw=null;101             102             try {103                 fw=new FileWriter(filename2);104                 bw=new BufferedWriter(fw);105                 106                 bw.write(this.jta.getText());107             } catch (Exception e) {108                 e.printStackTrace();109             }finally{110                 try {111                     bw.close();112                 } catch (IOException e) {113                     e.printStackTrace();114                 }115             }116         }117     }118 }

運行效果如下:

點擊檔案按鈕,點擊開啟功能表項目,選擇一個文字檔,效果如下:

開啟後,內容顯示如下:

對內容稍作修改,另存新檔名為sss的檔案,效果如下:

Java檔案(io)編程——簡易記事本開發

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.