代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
简单的文本编辑器
作者:
/ 发布于
2016/6/27
/
471
import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import javax.swing.text.*; /*dkplus专业搜集和编写实用电脑软件教程, *搜集各种软件资源和计算机周边,独立制作视频和ppt和音频微信公众号, *点击进入 dkplus官方博客 (java网络编程http://dkplus.iteye.com), *微信搜索dkplus关注公众号可获取海量计算机周边资源。*/ //简单的文本编辑器 public class EditorDemo extends JFrame { JTextPane textPane = new JTextPane(); //文本窗格,编辑窗口 JLabel statusBar = new JLabel(); //状态栏 JFileChooser filechooser = new JFileChooser(); //文件选择器 public EditorDemo() { //构造函数 super("简单的文本编辑器"); //调用父类构造函数 Action[] actions = //Action数组,各种操作命令 { new NewAction(), new OpenAction(), new SaveAction(), new CutAction(), new CopyAction(), new PasteAction(), new AboutAction(), new ExitAction()}; setJMenuBar(createJMenuBar(actions)); //设置菜单栏 Container container = getContentPane(); //得到容器 container.add(createJToolBar(actions), BorderLayout.NORTH); //增加工具栏 container.add(textPane, BorderLayout.CENTER); //增加文本窗格 container.add(statusBar, BorderLayout.SOUTH); //增加状态栏 setSize(330, 200); //设置窗口尺寸 setVisible(true); //设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 } private JMenuBar createJMenuBar(Action[] actions) { //创建菜单栏 JMenuBar menubar = new JMenuBar(); //实例化菜单栏 JMenu menuFile = new JMenu("文件"); //实例化菜单 JMenu menuEdit = new JMenu("编辑"); JMenu menuAbout = new JMenu("帮助"); 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])); menubar.add(menuFile); //增加菜单 menubar.add(menuEdit); menubar.add(menuAbout); return menubar; //返回菜单栏 } private JToolBar createJToolBar(Action[] actions) { //创建工具条 JToolBar toolBar = new JToolBar(); //实例化工具条 for (int i = 0; i < actions.length; i++) { JButton bt = new JButton(actions[i]); //实例化新的按钮 bt.setRequestFocusEnabled(false); //设置不需要焦点 toolBar.add(bt); //增加按钮到工具栏 } return toolBar; //返回工具栏 } class NewAction extends AbstractAction { //新建文件命令 public NewAction() { super("新建"); } public void actionPerformed(ActionEvent e) { textPane.setDocument(new DefaultStyledDocument()); //清空文档 } } class OpenAction extends AbstractAction { //打开文件命令 public OpenAction() { super("打开"); } public void actionPerformed(ActionEvent e) { int i = filechooser.showOpenDialog(EditorDemo.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("保存"); } public void actionPerformed(ActionEvent e) { int i = filechooser.showSaveDialog(EditorDemo.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("退出"); } public void actionPerformed(ActionEvent e) { System.exit(0); //退出程序 } } class CutAction extends AbstractAction { //剪切命令 public CutAction() { super("剪切"); } public void actionPerformed(ActionEvent e) { textPane.cut(); //调用文本窗格的剪切命令 } } class CopyAction extends AbstractAction { //拷贝命令 public CopyAction() { super("拷贝"); } public void actionPerformed(ActionEvent e) { textPane.copy(); //调用文本窗格的拷贝命令 } } class PasteAction extends AbstractAction { //粘贴命令 public PasteAction() { super("粘贴"); } public void actionPerformed(ActionEvent e) { textPane.paste(); //调用文本窗格的粘贴命令 } } class AboutAction extends AbstractAction { //关于选项命令 public AboutAction() { super("关于"); } public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(EditorDemo.this, "简单的文本编辑器演示"); //显示软件信息 } } public static void main(String[] args) { new EditorDemo(); } }
试试其它关键字
编辑器
文本编辑器
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3