用Java实现文本编辑器
源码里有注释:
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实现文本编辑器相关推荐
- JAVA写文本编辑器(四)
其实写到这里,我已经差不多断气了... 常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器(二)JAVA写文本编辑器(一) 现在我们只差最后一部分了 ...
- 25、Java Swing文本编辑器的实现
最简单的文本编辑器要数 Windows 的记事本了.在学习了本章知识之后,本次案例将完成一个简单的文本编辑器程序.它可以打开文本文件,并输出文本文件的位置和内容.其中用到了菜单.工具栏以及选项卡等组件 ...
- java 富文本编辑器的标签处理数据 从数据库中取出 并返回前台
总结: 1.使用 HtmlUtils.htmlEscape ()方法对 字符串中的标签转义 2.使用 removeHtmlTag() 得数据 具体步骤如下: 我的数据库的存储格式被转义过了,这个因人而 ...
- JAVA写文本编辑器(一)
作业题,花了整整两天终于搞出来了,今天给大家整理一下思路. 这里用swing ,awt写的. 我们大概要做成一个电脑的记事本那样的一个编辑器.可以调整字体,字号,颜色.能够打开.保存文件,新建窗口,点 ...
- java html文本编辑器,基于Java WebHTML在线文本编辑器解决方案.doc
基于Java WebHTML在线文本编辑器解决方案 基于Java WebHTML在线文本编辑器解决方案 摘要:FckEditor作为众多优秀HTML在线文本编辑器之一,以其支持多语言的优势而受到众多国 ...
- Swing学习25:Java Swing文本编辑器的实现
最简单的文本编辑器要数 Windows 的记事本了.在学习了本章知识之后,本次案例将完成一个简单的文本编辑器程序.它可以打开文本文件,并输出文本文件的位置和内容.其中用到了菜单.工具栏以及选项卡等组件 ...
- java 文本编辑器_「java文本编辑器」用Java实现文本编辑器 - seo实验室
java文本编辑器 源码里有注释:import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; ...
- java富文本编辑器KindEditor
在页面写一个编辑框: <textarea name="content" class="form-control" id="content&quo ...
- java富文本编辑器wangEditor-3.1.1的使用流程
wangEditor-3.1.1官方: http://www.wangeditor.com/ 使用文档:https://www.kancloud.cn/wangfupeng/wangeditor3/3 ...
- 我做的一个java简单文本编辑器代码
下面是我的一个简单java程序代码,可以练习下. 有的功能没弄完,有兴趣的可以完成他,对学java 很有帮助. package swing; import java.awt.*; import jav ...
最新文章
- Python基于statsmodels包构建多元线性回归模型:模型构建、模型解析、模型推理预测
- inode与block详解
- c语言约束函数,求解能不能用c或c++语言实现下面的约束条件
- Django1.10文档学习笔记二
- Kanboard简单的可视化任务板,项目管理
- Windows 中自定义Error Codes
- java while do_java中while和do-while的总结
- 普通html和vue单选框的样式,vue2实现自定义样式radio单选框
- 更新版 | GPU CUDA 进阶课程
- mysql怎么打印数据_从mysql打印数据
- Lintcode1 A+B Problem solution 题解
- 什么叫pin脚的pad_普思海鸥脚H1102NL百兆网络变压器
- 论文笔记_S2D.29_2017_CVPR_多尺度连续CRFs作为序列深度网络的单目深度估计
- Tensorboard 安装及使用
- 程序员就该这么悲催么? 996下的我们何去何从
- HDMI转PGA电脑没有声音处理方法
- 脑电信号情绪识别研究综述
- Mybatis Plus 看这篇就够了,通俗易懂,一发入魂
- VLAN的接口类型与TAG帧
- STM32F407系统标准库函数之时钟配置 和 位带操作
热门文章
- 风车im即时通讯源码支持打包app/H5/php开源版正常搭建无报错版,带搭建教程
- Vivado 使用方法
- 邹博机器学习升级版II附讲义、参考书与源码(数学 xgboost lda hmm svm)
- “华为杯”第十七届中国研究生数学建模竞赛2020 —— B题
- 2022年华为杯研究生数学建模竞赛ABCDEF题思路资料汇总贴
- access 江苏计算机二级_关于江苏省计算机二级MS OFFICE考试的建议
- 【stm32学习】正点原子stm32f103学习——开发板入门
- bp神经网络预测模型优点,bp神经网络优化算法
- B2B2C多用户商城系统源码 Java商城源码
- 三星 android 5.0系统下载地址,三星S5怎么刷机 三星S5安卓5.0固件包下载地址及刷机教程...