源码里有注释:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;//简单的文本编辑器public class Editor extends JFrame {public JTextPane textPane = new JTextPane(); //文本窗格d,编辑窗口public JFileChooser filechooser = new JFileChooser(); //文件选择器public Editor(){super("简记");Action[] actions=         //菜单项的各种功能{new NewAction(),new OpenAction(),new SaveAction(),new CutAction(),new CopyAction(),new PasteAction(),new AboutAction(),new ExitAction(),new HelpAction()};setJMenuBar(createJMenuBar(actions));      //根据actions创建菜单栏Container container=getContentPane();      container.add(textPane, BorderLayout.CENTER);setSize(1300,1500);setVisible(true);// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}private JMenuBar createJMenuBar(Action[] actions)   //创建菜单栏的函数{JMenuBar menubar=new JMenuBar();JMenu menuFile=new JMenu("文件(F)");JMenu menuEdit=new JMenu("编辑(E)");JMenu menuAbout=new JMenu("帮助(H)");menuFile.add(new JMenuItem(actions[0]));menuFile.add(new JMenuItem(actions[1]));menuFile.add(new JMenuItem(actions[2]));menuFile.add(new JMenuItem(actions[7]));menuEdit.add(new JMenuItem(actions[3]));menuEdit.add(new JMenuItem(actions[4]));menuEdit.add(new JMenuItem(actions[5]));menuAbout.add(new JMenuItem(actions[6]));menuAbout.add(new JMenuItem(actions[8]));menubar.add(menuFile);menubar.add(menuEdit);menubar.add(menuAbout);return menubar;}class NewAction extends AbstractAction     //新建{public NewAction(){super("新建(N)     Ctrl+N");}public void actionPerformed(ActionEvent e){textPane.setDocument(new DefaultStyledDocument());}}class OpenAction extends AbstractAction        //打开{public OpenAction(){super("打开(O)     Ctrl+O");}public void actionPerformed(ActionEvent e){int i=filechooser.showOpenDialog(Editor.this);           //显示打开文件对话框if(i==JFileChooser.APPROVE_OPTION)         //点击对话框打开选项{File f=filechooser.getSelectedFile();  //得到选择的文件try{InputStream is=new FileInputStream(f);textPane.read(is, "d");}catch(Exception ex){ex.printStackTrace();}}}}class SaveAction extends AbstractAction      //保存{public SaveAction(){super("保存(S)     Ctrl+S");}public void actionPerformed(ActionEvent e){int i=filechooser.showSaveDialog(Editor.this);if(i==JFileChooser.APPROVE_OPTION){File f=filechooser.getSelectedFile();try{FileOutputStream out=new FileOutputStream(f);out.write(textPane.getText().getBytes());}catch(Exception ex){ex.printStackTrace();}}}}class ExitAction extends AbstractAction        //退出{public ExitAction(){super("退出(X)");}public void actionPerformed(ActionEvent e){dispose();}}class CutAction extends AbstractAction        //剪切{public CutAction(){super("剪切(T)     Ctrl+X");}public void actionPerformed(ActionEvent e){textPane.cut();}}class CopyAction extends AbstractAction       //复制{public CopyAction(){super("复制(C)     Ctrl+C");}public void actionPerformed(ActionEvent e){textPane.copy();}}class PasteAction extends AbstractAction        //粘贴{public PasteAction(){super("粘贴(P)     Ctrl+V");}public void actionPerformed(ActionEvent e){textPane.paste();}}class AboutAction extends AbstractAction{public AboutAction(){super("关于简记(A)");}public void actionPerformed(ActionEvent e){JOptionPane.showMessageDialog(Editor.this,"实现了记事本的一些基本功能","关于",JOptionPane.PLAIN_MESSAGE);}}class HelpAction extends AbstractAction{public HelpAction(){super("联系开发者");}public void actionPerformed(ActionEvent e){JOptionPane.showMessageDialog(Editor.this,"cpeng2424@gmail.com","开发者邮箱",JOptionPane.PLAIN_MESSAGE);}}public static void main(String[] args){new Editor();}
}

用Java实现文本编辑器相关推荐

  1. JAVA写文本编辑器(四)

    其实写到这里,我已经差不多断气了... 常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器(二)JAVA写文本编辑器(一) 现在我们只差最后一部分了 ...

  2. 25、Java Swing文本编辑器的实现

    最简单的文本编辑器要数 Windows 的记事本了.在学习了本章知识之后,本次案例将完成一个简单的文本编辑器程序.它可以打开文本文件,并输出文本文件的位置和内容.其中用到了菜单.工具栏以及选项卡等组件 ...

  3. java 富文本编辑器的标签处理数据 从数据库中取出 并返回前台

    总结: 1.使用 HtmlUtils.htmlEscape ()方法对 字符串中的标签转义 2.使用 removeHtmlTag() 得数据 具体步骤如下: 我的数据库的存储格式被转义过了,这个因人而 ...

  4. JAVA写文本编辑器(一)

    作业题,花了整整两天终于搞出来了,今天给大家整理一下思路. 这里用swing ,awt写的. 我们大概要做成一个电脑的记事本那样的一个编辑器.可以调整字体,字号,颜色.能够打开.保存文件,新建窗口,点 ...

  5. java html文本编辑器,基于Java WebHTML在线文本编辑器解决方案.doc

    基于Java WebHTML在线文本编辑器解决方案 基于Java WebHTML在线文本编辑器解决方案 摘要:FckEditor作为众多优秀HTML在线文本编辑器之一,以其支持多语言的优势而受到众多国 ...

  6. Swing学习25:Java Swing文本编辑器的实现

    最简单的文本编辑器要数 Windows 的记事本了.在学习了本章知识之后,本次案例将完成一个简单的文本编辑器程序.它可以打开文本文件,并输出文本文件的位置和内容.其中用到了菜单.工具栏以及选项卡等组件 ...

  7. java 文本编辑器_「java文本编辑器」用Java实现文本编辑器 - seo实验室

    java文本编辑器 源码里有注释:import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; ...

  8. java富文本编辑器KindEditor

    在页面写一个编辑框: <textarea name="content" class="form-control" id="content&quo ...

  9. java富文本编辑器wangEditor-3.1.1的使用流程

    wangEditor-3.1.1官方: http://www.wangeditor.com/ 使用文档:https://www.kancloud.cn/wangfupeng/wangeditor3/3 ...

  10. 我做的一个java简单文本编辑器代码

    下面是我的一个简单java程序代码,可以练习下. 有的功能没弄完,有兴趣的可以完成他,对学java 很有帮助. package swing; import java.awt.*; import jav ...

最新文章

  1. Python基于statsmodels包构建多元线性回归模型:模型构建、模型解析、模型推理预测
  2. inode与block详解
  3. c语言约束函数,求解能不能用c或c++语言实现下面的约束条件
  4. Django1.10文档学习笔记二
  5. Kanboard简单的可视化任务板,项目管理
  6. Windows 中自定义Error Codes
  7. java while do_java中while和do-while的总结
  8. 普通html和vue单选框的样式,vue2实现自定义样式radio单选框
  9. 更新版 | GPU CUDA 进阶课程
  10. mysql怎么打印数据_从mysql打印数据
  11. Lintcode1 A+B Problem solution 题解
  12. 什么叫pin脚的pad_普思海鸥脚H1102NL百兆网络变压器
  13. 论文笔记_S2D.29_2017_CVPR_多尺度连续CRFs作为序列深度网络的单目深度估计
  14. Tensorboard 安装及使用
  15. 程序员就该这么悲催么? 996下的我们何去何从
  16. HDMI转PGA电脑没有声音处理方法
  17. 脑电信号情绪识别研究综述
  18. Mybatis Plus 看这篇就够了,通俗易懂,一发入魂
  19. VLAN的接口类型与TAG帧
  20. STM32F407系统标准库函数之时钟配置 和 位带操作

热门文章

  1. 风车im即时通讯源码支持打包app/H5/php开源版正常搭建无报错版,带搭建教程
  2. Vivado 使用方法
  3. 邹博机器学习升级版II附讲义、参考书与源码(数学 xgboost lda hmm svm)
  4. “华为杯”第十七届中国研究生数学建模竞赛2020 —— B题
  5. 2022年华为杯研究生数学建模竞赛ABCDEF题思路资料汇总贴
  6. access 江苏计算机二级_关于江苏省计算机二级MS OFFICE考试的建议
  7. 【stm32学习】正点原子stm32f103学习——开发板入门
  8. bp神经网络预测模型优点,bp神经网络优化算法
  9. B2B2C多用户商城系统源码 Java商城源码
  10. 三星 android 5.0系统下载地址,三星S5怎么刷机 三星S5安卓5.0固件包下载地址及刷机教程...