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

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

WBOY
Libérer: 2023-04-24 22:01:06
avant
1064 Les gens l'ont consulté

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();

    }

}
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal