欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

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

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

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

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

    本篇介紹了Spring Boot 使用Java代碼創(chuàng)建Bean并注冊到Spring中,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    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ù)類型和引用數(shù)據(jù)類型的方式,需要的朋友可以參考下
    2023-10-10
  • idea同時編輯多行問題-win&mac都支持

    idea同時編輯多行問題-win&mac都支持

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論