Java實現(xiàn)文本編譯器
更新時間:2022年04月25日 15:38:34 作者:寶貝垚
這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)文本編譯器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
簡介
簡單的文本編譯器,可以通過彈出對話框打開文件,進(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");//四個選項 ?? ??? ?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); ?? ??? ?//四個選項事件函數(shù); ?? ??? ?openItem.addActionListener(this); ?? ??? ?saveItem.addActionListener(this); ?? ??? ?closeItem.addActionListener(this); ?? ??? ?exitItem.addActionListener(this); ?? ?} ?? ?public void actionPerformed(ActionEvent e) ?? ?{ ?? ??? ?//異常 ?? ??? ?try { ?? ??? ??? ?//點擊打開選項時,彈出打開文件對話框; ?? ??? ??? ?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(); ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ?//點擊保存選項時,彈出保存文件對話框; ?? ??? ??? ?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(); ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ?//點擊關(guān)閉選項時,清空文本框; ?? ??? ??? ?else if(e.getActionCommand() == "Close") { ?? ??? ??? ??? ?ta.setText(""); ?? ??? ??? ?} ?? ??? ??? ?//點擊退出選項時,退出當(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Spring Boot 使用Java代碼創(chuàng)建Bean并注冊到Spring中
本篇介紹了Spring Boot 使用Java代碼創(chuàng)建Bean并注冊到Spring中,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Spring?Boot如何配置yml配置文件定義集合、數(shù)組和Map
這篇文章主要介紹了Spring?Boot?優(yōu)雅配置yml配置文件定義集合、數(shù)組和Map,包括Spring?Boot?yml配置文件定義基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的方式,需要的朋友可以參考下2023-10-10Mybatis實現(xiàn)分包定義數(shù)據(jù)庫的原理與過程
這篇文章主要給大家介紹了關(guān)于Mybatis實現(xiàn)分包定義數(shù)據(jù)庫的原理與過程,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-01-01SpringAOP 構(gòu)造注入的實現(xiàn)步驟
這篇文章主要介紹了SpringAOP_構(gòu)造注入的實現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用spring框架,感興趣的朋友可以了解下2021-05-05SpringAOP切點函數(shù)實現(xiàn)原理詳解
這篇文章主要介紹了SpringAOP切點函數(shù)實現(xiàn)原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05