亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

簡(jiǎn)介

簡(jiǎn)單的文本編譯器,可以通過(guò)彈出對(duì)話(huà)框打開(kāi)文件,進(jìn)行編寫(xiě)并保存文件。

代碼

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)造界面,本類(lèi)作為監(jiān)聽(tīng)類(lèi);
?? ?public Editor(){
?? ??? ?f = new JFrame("簡(jiǎn)易文本編輯器");
?? ??? ?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)擊打開(kāi)選項(xiàng)時(shí),彈出打開(kāi)文件對(duì)話(huà)框;
?? ??? ??? ?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ì)話(huà)框;
?? ??? ??? ?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();

?? ?}

}

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

相關(guān)文章

  • Java實(shí)現(xiàn)文件上傳的方法

    Java實(shí)現(xiàn)文件上傳的方法

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件上傳的方法,供大家參考,感興趣的朋友可以參考一下
    2016-05-05
  • 詳解Spring Boot 使用Java代碼創(chuàng)建Bean并注冊(cè)到Spring中

    詳解Spring Boot 使用Java代碼創(chuàng)建Bean并注冊(cè)到Spring中

    本篇介紹了Spring Boot 使用Java代碼創(chuàng)建Bean并注冊(cè)到Spring中,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Spring?Boot如何配置yml配置文件定義集合、數(shù)組和Map

    Spring?Boot如何配置yml配置文件定義集合、數(shù)組和Map

    這篇文章主要介紹了Spring?Boot?優(yōu)雅配置yml配置文件定義集合、數(shù)組和Map,包括Spring?Boot?yml配置文件定義基本數(shù)據(jù)類(lèi)型和引用數(shù)據(jù)類(lèi)型的方式,需要的朋友可以參考下
    2023-10-10
  • idea同時(shí)編輯多行問(wèn)題-win&mac都支持

    idea同時(shí)編輯多行問(wèn)題-win&mac都支持

    這篇文章主要介紹了idea同時(shí)編輯多行問(wèn)題-win&mac都支持,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 關(guān)于Java中避免空指針的方法

    關(guān)于Java中避免空指針的方法

    這篇文章主要介紹了關(guān)于Java中避免空指針的方法,空指針異常就是我們?cè)趯?duì)空對(duì)象進(jìn)行的任何操作都會(huì)報(bào)空指針異常,所謂的指針,就是java中的對(duì)象的引用,比如String?s;這個(gè)就是指針,需要的朋友可以參考下
    2023-07-07
  • Mybatis實(shí)現(xiàn)分包定義數(shù)據(jù)庫(kù)的原理與過(guò)程

    Mybatis實(shí)現(xiàn)分包定義數(shù)據(jù)庫(kù)的原理與過(guò)程

    這篇文章主要給大家介紹了關(guān)于Mybatis實(shí)現(xiàn)分包定義數(shù)據(jù)庫(kù)的原理與過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • SpringAOP 構(gòu)造注入的實(shí)現(xiàn)步驟

    SpringAOP 構(gòu)造注入的實(shí)現(xiàn)步驟

    這篇文章主要介紹了SpringAOP_構(gòu)造注入的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用spring框架,感興趣的朋友可以了解下
    2021-05-05
  • JVM的垃圾回收算法工作原理詳解

    JVM的垃圾回收算法工作原理詳解

    這篇文章主要介紹了JVM的垃圾回收算如何判斷對(duì)象是否可以被回收,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • SpringAOP切點(diǎn)函數(shù)實(shí)現(xiàn)原理詳解

    SpringAOP切點(diǎn)函數(shù)實(shí)現(xiàn)原理詳解

    這篇文章主要介紹了SpringAOP切點(diǎn)函數(shù)實(shí)現(xiàn)原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 基于Java利用static實(shí)現(xiàn)單例模式

    基于Java利用static實(shí)現(xiàn)單例模式

    這篇文章主要介紹了基于Java利用static實(shí)現(xiàn)單例模式,當(dāng)在多個(gè)線程同時(shí)觸發(fā)類(lèi)的初始化過(guò)程的時(shí)候static不會(huì)被多次執(zhí)行,下面我們一起進(jìn)入文章看看具體要的原因
    2022-01-01

最新評(píng)論