Maison  >  Article  >  Java  >  Comment implémenter un éditeur de texte en langage Java

Comment implémenter un éditeur de texte en langage Java

WBOY
WBOYavant
2023-04-24 22:01:061013parcourir

Introduction

Un compilateur de texte simple qui peut ouvrir des fichiers via des boîtes de dialogue contextuelles, écrire et enregistrer des fichiers.

Comment implémenter un éditeur de texte en langage Java

Comment implémenter un éditeur de texte en langage Java

code

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;
    //构造界面,本类作为监听类;
    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);
        //四个选项事件函数;
        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();
                }
            }
            //点击关闭选项时,清空文本框;
            else if(e.getActionCommand() == "Close") {
                ta.setText("");
            }
            //点击退出选项时,退出当前界面;
            else if(e.getActionCommand() == "Exit") {
                System.exit(0);
            }
        }
        //处理异常;
        catch(IOException exp) {
            exp.printStackTrace();
        }
    }
    public static void main(String[] args) {
        Editor e = new Editor();

    }

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer