最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java文件(io)編程之記事本開(kāi)發(fā)詳解

 更新時(shí)間:2017年08月12日 08:39:40   作者:嗯哼  
這篇文章主要為大家詳細(xì)介紹了Java文件(io)編程之記事本開(kāi)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java開(kāi)發(fā)簡(jiǎn)易記事本的具體代碼,供大家參考,具體內(nèi)容如下

public class NotePad extends JFrame implements ActionListener{

 //定義需要的組件
 JTextArea jta=null;  //多行文本框
 
 JMenuBar jmb=null;  //菜單條
 JMenu jm1=null;  //菜單
 JMenuItem jmi1=null,jmi2=null; //菜單項(xiàng)
 
 public static void main(String[] args) {
 NotePad np=new NotePad();

 }
 
 public NotePad(){  //構(gòu)造函數(shù)
 
 jta=new JTextArea(); //創(chuàng)建jta
 jmb=new JMenuBar();
 jm1=new JMenu("文件");
 jm1.setMnemonic('F'); //設(shè)置助記符
 
 jmi1=new JMenuItem("打開(kāi)",new ImageIcon("imag_3.jpg")); 
 jmi1.addActionListener(this); //注冊(cè)監(jiān)聽(tīng)
 jmi1.setActionCommand("open");

 jmi2=new JMenuItem("保存");
 jmi2.addActionListener(this);
 jmi2.setActionCommand("save");
 
 this.setJMenuBar(jmb); //加入
 
 jmb.add(jm1);  //把菜單放入菜單條
 
 jm1.add(jmi1);  //把item放入到Menu中
 jm1.add(jmi2);
 
 this.add(jta);  //放入到JFrame
 
 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 this.setSize(400,300);
 this.setTitle("記事本");
 this.setIconImage((new ImageIcon("imag_2.jpg")).getImage());
 this.setVisible(true);
 }

 @Override
 public void actionPerformed(ActionEvent arg0) {
 //判斷是哪個(gè)菜單被選中
 if(arg0.getActionCommand().equals("open")){
 
 //JFileChooser,創(chuàng)建一個(gè)文件選擇組件
 JFileChooser jfc1=new JFileChooser();
 jfc1.setDialogTitle("請(qǐng)選擇文件……"); //設(shè)置名字
 
 jfc1.showOpenDialog(null); //默認(rèn)方式
 jfc1.setVisible(true); //顯示
 
 //得到用戶(hù)選擇的文件全路徑
 String filename=jfc1.getSelectedFile().getAbsolutePath();
 
 FileReader fr=null;
 BufferedReader br=null;
 
 try {
 fr=new FileReader(filename);
 br=new BufferedReader(fr);
 
 //從文件中讀取信息并顯示到j(luò)ta
 String s="";
 String allCon="";
 while((s=br.readLine())!=null){ //循環(huán)讀取文件,s不為空即還未讀完畢 
  allCon+=s+"\r\n";
 } 

 jta.setText(allCon); //放置到j(luò)ta
 
 } catch (Exception e) {
 e.printStackTrace();
 }finally{
 
 try {
  fr.close();
  br.close();
 } catch (Exception e) {
  e.printStackTrace();
 }
 } 
 }else if(arg0.getActionCommand().equals("save")){
 //出現(xiàn)保存對(duì)話框
 JFileChooser jfc2=new JFileChooser();
 jfc2.setDialogTitle("另存為……");
 jfc2.showSaveDialog(null); //按默認(rèn)的方式顯示
 jfc2.setVisible(true);
 
 //得到用戶(hù)希望把文件保存到何處,文件全路徑
 String filename2=jfc2.getSelectedFile().getAbsolutePath();
 
 //準(zhǔn)備寫(xiě)入到指定文件
 FileWriter fw=null;
 BufferedWriter bw=null;
 
 try {
 fw=new FileWriter(filename2);
 bw=new BufferedWriter(fw);
 
 bw.write(this.jta.getText());
 } catch (Exception e) {
 e.printStackTrace();
 }finally{
 try {
  bw.close();
 } catch (IOException e) {
  e.printStackTrace();
 }
 }
 }
 }
}

運(yùn)行效果如下

點(diǎn)擊文件按鈕,點(diǎn)擊打開(kāi)菜單項(xiàng),選擇一個(gè)文本文件,效果如下:

打開(kāi)后,內(nèi)容顯示如下:

對(duì)內(nèi)容稍作修改,另存為名為sss的文件,效果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java設(shè)計(jì)日歷可視化的詳細(xì)步驟記錄

    java設(shè)計(jì)日歷可視化的詳細(xì)步驟記錄

    這篇文章主要給大家介紹了關(guān)于java設(shè)計(jì)日歷可視化的相關(guān)資料,通過(guò)自定義的CircleLabel類(lèi)來(lái)突出顯示今天的日期,并使用BorderLayout布局管理窗口組件,文章詳細(xì)描述了各個(gè)類(lèi)和方法的設(shè)計(jì)思想和實(shí)現(xiàn)邏輯,需要的朋友可以參考下
    2024-12-12
  • 使用新版Maven-mvnd快速構(gòu)建項(xiàng)目

    使用新版Maven-mvnd快速構(gòu)建項(xiàng)目

    本文主要介紹了使用新版Maven-mvnd來(lái)快速構(gòu)建項(xiàng)目,相比于Maven,mvnd可以顯著提高構(gòu)建速度,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Java讀取圖片EXIF信息的方法

    Java讀取圖片EXIF信息的方法

    這篇文章主要介紹了Java讀取圖片EXIF信息的方法,較為詳細(xì)的分析了圖片EXIF信息的概念、功能及java讀取EXIF信息的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-07-07
  • SpringBoot登錄、退出、獲取用戶(hù)信息的session處理方案

    SpringBoot登錄、退出、獲取用戶(hù)信息的session處理方案

    這篇文章主要介紹了SpringBoot登錄、退出、獲取用戶(hù)信息的session處理,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 淺談SpringBoot資源初始化加載的幾種方式

    淺談SpringBoot資源初始化加載的幾種方式

    在平時(shí)的業(yè)務(wù)模塊開(kāi)發(fā)過(guò)程中,難免會(huì)需要做一些全局的任務(wù)、緩存、線程等等的初始化工作,那么如何解決這個(gè)問(wèn)題呢?本文就來(lái)介紹一下,感興趣的可以了解一下
    2021-07-07
  • 詳解SpringMVC學(xué)習(xí)系列(6) 之 數(shù)據(jù)驗(yàn)證

    詳解SpringMVC學(xué)習(xí)系列(6) 之 數(shù)據(jù)驗(yàn)證

    這篇文章主要介紹了詳解SpringMVC學(xué)習(xí)系列(6) 之 數(shù)據(jù)驗(yàn)證 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • idea導(dǎo)入配置Spring?Boot項(xiàng)目的詳細(xì)步驟教程

    idea導(dǎo)入配置Spring?Boot項(xiàng)目的詳細(xì)步驟教程

    這篇文章主要給大家介紹了關(guān)于idea導(dǎo)入配置Spring?Boot項(xiàng)目的詳細(xì)步驟,在項(xiàng)目開(kāi)發(fā)過(guò)程中,無(wú)論是導(dǎo)入運(yùn)行團(tuán)隊(duì)開(kāi)發(fā)的項(xiàng)目,還是一些開(kāi)源項(xiàng)目,還是其他的項(xiàng)目,想要在IDEA中完整的運(yùn)行起來(lái)總有很多坑,需要的朋友可以參考下
    2023-08-08
  • mybatis如何處理返回結(jié)果集

    mybatis如何處理返回結(jié)果集

    這篇文章主要介紹了mybatis如何處理返回結(jié)果集問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java 如何實(shí)現(xiàn)時(shí)間控制

    Java 如何實(shí)現(xiàn)時(shí)間控制

    這篇文章主要向大家介紹得是Java 如何實(shí)現(xiàn)時(shí)間控制,文章珠岙舉例說(shuō)明該內(nèi)容,感興趣得小伙伴可以跟小編一起學(xué)習(xí)下面文章內(nèi)容
    2021-10-10
  • Java的ArrayList擴(kuò)容源碼解析

    Java的ArrayList擴(kuò)容源碼解析

    這篇文章主要介紹了Java的ArrayList擴(kuò)容源碼解析,通過(guò)動(dòng)態(tài)擴(kuò)容,ArrayList能夠在添加元素時(shí)保持高效的性能,擴(kuò)容操作是有一定開(kāi)銷(xiāo)的,但由于擴(kuò)容的時(shí)間復(fù)雜度為O(n),其中n是當(dāng)前元素個(gè)數(shù),所以平均情況下,每次添加元素的時(shí)間復(fù)雜度仍然是O(1),需要的朋友可以參考下
    2024-01-01

最新評(píng)論

宿迁市| 安达市| 雅江县| 丰城市| 博爱县| 广汉市| 株洲县| 诏安县| 襄樊市| 白山市| 安图县| 乌拉特后旗| 宜黄县| 丽水市| 天津市| 阿城市| 全南县| 宁蒗| 隆回县| 石河子市| 沾化县| 连江县| 绥宁县| 蓬莱市| 肇州县| 咸丰县| 桂林市| 芷江| 东乌珠穆沁旗| 颍上县| 舒兰市| 宁武县| 嵊州市| 太原市| 库尔勒市| 阳谷县| 平乡县| 焦作市| 彰化县| 什邡市| 故城县|