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

Java實(shí)現(xiàn)文本編譯器

 更新時(shí)間:2022年04月25日 15:38:34   作者:寶貝垚  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文本編譯器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

簡介

簡單的文本編譯器,可以通過彈出對(duì)話框打開文件,進(jìn)行編寫并保存文件。

代碼

package Code.a;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
public class Editor implements ActionListener{
?? ?JFrame f;
?? ?JTextArea ta;
?? ?JScrollPane sp;
?? ?JMenuBar menubar;
?? ?JMenu menu;
?? ?JMenuItem openItem,saveItem,closeItem,exitItem;
?? ?FileReader fr;
?? ?FileWriter fw;
?? ?JFileChooser fc;
?? ?File file;
?? ?//構(gòu)造界面,本類作為監(jiān)聽類;
?? ?public Editor(){
?? ??? ?f = new JFrame("簡易文本編輯器");
?? ??? ?ta = new JTextArea();
?? ??? ?sp = new JScrollPane(ta);//滾輪
?? ??? ?f.add(sp);
?? ??? ?
?? ??? ?menubar = new JMenuBar();//菜單欄
?? ??? ?menu = new JMenu("File");?
?? ??? ?openItem = new JMenuItem("Open");//四個(gè)選項(xiàng)
?? ??? ?saveItem = new JMenuItem("Save");
?? ??? ?closeItem = new JMenuItem("Close");
?? ??? ?exitItem = new JMenuItem("Exit");
?? ??? ?menu.add(openItem);
?? ??? ?menu.add(saveItem);
?? ??? ?menu.add(closeItem);
?? ??? ?menu.add(exitItem);
?? ??? ?menubar.add(menu);
?? ??? ?
?? ??? ?f.setJMenuBar(menubar);
?? ??? ?f.setSize(400,300);
?? ??? ?f.setVisible(true);
?? ??? ?//四個(gè)選項(xiàng)事件函數(shù);
?? ??? ?openItem.addActionListener(this);
?? ??? ?saveItem.addActionListener(this);
?? ??? ?closeItem.addActionListener(this);
?? ??? ?exitItem.addActionListener(this);
?? ?}
?? ?public void actionPerformed(ActionEvent e)
?? ?{
?? ??? ?//異常
?? ??? ?try {
?? ??? ??? ?//點(diǎn)擊打開選項(xiàng)時(shí),彈出打開文件對(duì)話框;
?? ??? ??? ?if(e.getActionCommand()=="Open") {
?? ??? ??? ??? ?fc = new JFileChooser();
?? ??? ??? ??? ?if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?file = fc.getSelectedFile();
?? ??? ??? ??? ??? ?fr = new FileReader(file);
?? ??? ??? ??? ??? ?int c;
?? ??? ??? ??? ??? ?while((c = fr.read()) != -1)
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?ta.append(String.valueOf((char) c));
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?fr.close();
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?//點(diǎn)擊保存選項(xiàng)時(shí),彈出保存文件對(duì)話框;
?? ??? ??? ?else if(e.getActionCommand()=="Save") {
?? ??? ??? ??? ?
?? ??? ??? ??? ?String str = ta.getText();
?? ??? ??? ??? ?fc = new JFileChooser();
?? ??? ??? ??? ?if(fc.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?file = fc.getSelectedFile();
?? ??? ??? ??? ??? ?fw = new FileWriter(file);
?? ??? ??? ??? ??? ?fw.write(str);
?? ??? ??? ??? ??? ?fw.close();
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?//點(diǎn)擊關(guān)閉選項(xiàng)時(shí),清空文本框;
?? ??? ??? ?else if(e.getActionCommand() == "Close") {
?? ??? ??? ??? ?ta.setText("");
?? ??? ??? ?}
?? ??? ??? ?//點(diǎn)擊退出選項(xiàng)時(shí),退出當(dāng)前界面;
?? ??? ??? ?else if(e.getActionCommand() == "Exit") {
?? ??? ??? ??? ?System.exit(0);
?? ??? ??? ?}
?? ??? ?}
?? ??? ?//處理異常;
?? ??? ?catch(IOException exp) {
?? ??? ??? ?exp.printStackTrace();
?? ??? ?}
?? ?}
?? ?public static void main(String[] args) {
?? ??? ?Editor e = new Editor();

?? ?}

}

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

相關(guān)文章

  • SpringBoot整合JPA的實(shí)例代碼

    SpringBoot整合JPA的實(shí)例代碼

    本篇文章主要介紹了SpringBoot整合JPA的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot整合Shiro和Redis的示例代碼

    SpringBoot整合Shiro和Redis的示例代碼

    這篇文章主要介紹了SpringBoot整合Shiro和Redis的示例代碼,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 詳解spring-boot下如何滿足多生產(chǎn)環(huán)境中個(gè)性化定制功能

    詳解spring-boot下如何滿足多生產(chǎn)環(huán)境中個(gè)性化定制功能

    這篇文章主要介紹了詳解spring-boot下如何滿足多生產(chǎn)環(huán)境中個(gè)性化定制功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • 詳解Spring-Boot中如何使用多線程處理任務(wù)

    詳解Spring-Boot中如何使用多線程處理任務(wù)

    本篇文章主要介紹了詳解Spring-Boot中如何使用多線程處理任務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Java File類的簡單使用教程(創(chuàng)建、刪除、遍歷與判斷是否存在等)

    Java File類的簡單使用教程(創(chuàng)建、刪除、遍歷與判斷是否存在等)

    這篇文章主要給大家介紹了關(guān)于Java File類的簡單使用(創(chuàng)建、刪除、遍歷與判斷是否存在等)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • SpringBoot啟用GZIP壓縮的代碼工程

    SpringBoot啟用GZIP壓縮的代碼工程

    經(jīng)常我們都會(huì)與服務(wù)端進(jìn)行大數(shù)據(jù)量的文本傳輸,例如?JSON?就是常見的一種格式,通過?REST?API?接口進(jìn)行?GET?和?POST?請(qǐng)求,可能會(huì)有大量的文本格式數(shù)據(jù)提交、返回,壓縮和解壓在提升網(wǎng)絡(luò)帶寬的同時(shí),會(huì)帶來?CPU?資源的損耗,本文介紹了SpringBoot啟用GZIP壓縮的代碼工程
    2024-08-08
  • 深度解析Java中的ReentrantLock原理

    深度解析Java中的ReentrantLock原理

    這篇文章主要介紹了關(guān)于ReentrantLock的原理解析,文章通過代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Mybatis?MappedStatement類核心原理詳解

    Mybatis?MappedStatement類核心原理詳解

    這篇文章主要介紹了Mybatis?MappedStatement類,mybatis的mapper文件最終會(huì)被解析器,解析成MappedStatement,其中insert|update|delete|select每一個(gè)標(biāo)簽分別對(duì)應(yīng)一個(gè)MappedStatement
    2022-11-11
  • Java的Hibernate框架中集合類數(shù)據(jù)結(jié)構(gòu)的映射編寫教程

    Java的Hibernate框架中集合類數(shù)據(jù)結(jié)構(gòu)的映射編寫教程

    Hibernate可以將Java中幾個(gè)內(nèi)置的集合結(jié)構(gòu)映射為數(shù)據(jù)庫使用的關(guān)系模型,下面我們就來看一下Java的Hibernate框架中集合類數(shù)據(jù)結(jié)構(gòu)的映射編寫教程:
    2016-07-07
  • springcloud如何配置文件加載順序

    springcloud如何配置文件加載順序

    這篇文章主要介紹了springcloud如何配置文件加載順序問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評(píng)論

南阳市| 特克斯县| 清流县| 周口市| 峡江县| 平利县| 寿宁县| 石首市| 增城市| 潜江市| 察哈| 秦安县| 松阳县| 康保县| 大同县| 延庆县| 扎兰屯市| 汽车| 延安市| 龙口市| 伊金霍洛旗| 青铜峡市| 罗田县| 宜丰县| 永胜县| 龙岩市| 汉沽区| 汕头市| 色达县| 抚顺县| 楚雄市| 积石山| 惠来县| 凤山县| 左云县| 广灵县| 广河县| 定南县| 祁阳县| 河曲县| 榆中县|