为你的Java应用嵌入一个功能强大的文字编辑器

如果你想在Java应用中嵌入一个功能强大的文字编辑器,那么XDocBuilder可能是最好的选择
1、免费
2、格式丰富,可以处理段落、文字、图形、图片、图表、表格等
3、文件格式支持丰富:xdoc、docx、pdf、rtf、doc、htm、txt、swf、svg等
4、标准格式xdoc是一个简单的xml文本
5、包依赖少,只有一个包是必须的
6、嵌入简单,它只是一个JComponent
7、API功能强大:打开、编辑、打印、格式转换等

程序库:

 

xdoc.jar主程序库(必须)
jfreechart.jar图表(可选)
zxing.jar二维码(可选)
poi.jar读取doc、ppt、xls(可选)
rsyntax.jar

高亮格式化(可选)

 

在线:

http://www.xdocin.com/xdoc?_func=edit

例子:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JToolBar;
import javax.swing.UIManager;

import com.hg.xdoc.XDocBuilder;
import com.hg.xdoc.XDocIO;

/**
 * XDocBuilder嵌入测试
 * @author xdoc
 */
public class XDocBuilderTest {
    private static XDocBuilder builder;
    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            //获取XDocBuilder实例
            builder = new XDocBuilder();
            JFrame frame = new JFrame("XDocBuilder嵌入测试");
            //将XDocBuilder放入面板中
            frame.getContentPane().add(builder, BorderLayout.CENTER);
            JToolBar bar = new JToolBar("工具条");
            JButton btn = new JButton("新建");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //新建
                    builder.create();
                }
            });
            btn = new JButton("打开");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //打开
                    builder.open();
                    //builder.open("http://www.hgsql.com/down/XDocIntro.xdoc", XDocIO.READ_FORMAT_XDOC);
                }
            });
            bar.add(btn);
            btn = new JButton("查看XML");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //显示XML内容
                    try {
                        JOptionPane.showMessageDialog(null, builder.getXml());
                    } catch (Exception e1) {
                        JOptionPane.showMessageDialog(null, e1.getMessage());
                    }
                }
            });
            bar.add(btn);
            btn = new JButton("保存");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //保存当前文件
                    builder.save();
                }
            });
            bar.add(btn);
            btn = new JButton("全部保存");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    for (int i = 0; i < builder.getXDocCount(); i++) {
                        //选择第i个文件
                        builder.activeXDoc(i);
                        //保存
                        builder.save();
                        //builder.save("xdox" + i + ".rtf", XDocIO.WRITE_FORMAT_PDF);
                    }
                }
            });
            bar.add(btn);
            btn = new JButton("关闭");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //关闭当前文件
                    builder.close();
                }
            });
            bar.add(btn);
            btn = new JButton("打印");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    builder.print();
                }
            });
            bar.add(btn);
            btn = new JButton("直接打印");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //打印到指定打印机
                    builder.print("HG JPD 虚拟打印机");
                }
            });
            bar.add(btn);
            btn = new JButton("关于");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    builder.about();
                }
            });
            bar.add(btn);
            Container content = frame.getContentPane();
            content.add(bar, BorderLayout.NORTH);
            frame.setSize(800, 600);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
            frame.addWindowListener(new WindowListener() {
                public void windowOpened(WindowEvent e) {}
                public void windowClosing(WindowEvent e) {
                    //frame关闭时做处理
                    for (int i = 0; i < builder.getXDocCount(); i++) {
                        try {
                            XDocIO.write(builder.getXDoc(i), new File("c:/xdoc" + i + ".xdoc"));
                        } catch (Exception e1) {
                            JOptionPane.showMessageDialog(null, e1.getMessage());
                        }
                    }
                    System.exit(0);
                }
                public void windowClosed(WindowEvent e) {}
                public void windowIconified(WindowEvent e) {}
                public void windowDeiconified(WindowEvent e) {}
                public void windowActivated(WindowEvent e) {}
                public void windowDeactivated(WindowEvent e) {}
            });
            frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
}

 运行效果:



 

sql在线编辑器 立即下载

相关推荐

采用JavaFX8开发的一款Asciidoc编辑器和工具链

采用JavaFX 8 开发的一款Asciidoc编辑器和工具链

EditPlus + JavaFx 编写SQL简易查询器

为什么80%的码农都做不了架构师?>>> ...

weixin_34191734的博客 444

简单好用的SQL编辑器,超实用,可修改可开发软件

简单好用的SQL编辑器,超实用,可修改可开发软件

Java桌面版SQL语句生成器(sql-auto-creator),不做无用功!

背景: 问题点:本人是一个java开发人员兼组长,经常设计DB设计。然后开发人员使用这个DB设计进行数据库建表。这个建表工作属实枯燥无味、浪费时间、容易出错。有的时候一个字段长度搞错了,开发的时候又出现问题。我知道很多互联网平台有数据库建表的功能。但是数据库设计这种东西,不能外泄呀!!! 当然,可以使用power designer来进行设计。有任何疑问都可以在下方评论! 最近,在学习Jav...

mintonzhang的博客 1436

编辑器,自己编辑的很不错,虽然简单但是很实用

一个学Java时编辑的简单但是很实用的编辑器,很好的,欢迎大家来下载使用啊。

WebVTT中的文本轨道(Text Tracks,TT)到底是什么鬼?

WebVTT,全称是The Web Video Text Tracks Format,意思是网络视频文本轨道格式。那么到底什么是文本轨道(Text Tracks)呢?这篇文章希望一探究竟。

码农1479的博客 1987

java sql编辑器_java 版CMS系统、基于java技术研发的内容管理系统

java 版CMS系统、基于java技术研发的内容管理系统、功能:栏目模板自定义、内容模型自定义、多个站点管理、在线模板页面编辑等功能、代码完全开源、MIT授权协议。OFCMS项目介绍java 版CMS系统、基于java技术研发的内容管理系统、功能:栏目模板自定义、内容模型自定义、多个站点管理、在线模板页面编辑等功能、代码完全开源、MIT授权协议。技术选型:jfinal DB+Record mys...

weixin_39795268的博客 170

地震勘探原理---地震预处理

3.1 为什么说要对数据进行振幅补偿?具体来说,地震波在传播过程中会遇到各种各样的地质条件,例如不同的岩层、土壤、水层等,这些介质的密度、速度等特性不同,因而对地震波的能量消耗也有所不同。在传播距离较远的情况下,能量损失可能会导致接收到的地震信号振幅变小。相反,在传播距离较近的情况下,能量损失可能较小,导致接收到的地震信号振幅变大。如果不对数据进行振幅补偿,这种振幅不均衡会导致地震数据分析和解释的误差和不确定性增加,可能产生错误的结论。

DARRENANJIAN的博客 3275

IntelliJ IDEA 2019 for Mac(好用的Java开发工具)

IntelliJ IDEA 2019 for Mac是Mac上好用的Java开发工具,为最大限度地提高开发人员的工作效率而设计,即时和巧妙的代码完成,动态代码分析,为各种其他语言(如SQL,JPQL,HTML,JavaScript等)提供智能编码帮助等强大的功能,是开发人员不可缺少的一款软件。JetBrains IntelliJ IDEA 2019 for Mac安装注意事项...

buguan1627的博客 4170

随机变量序列 收敛 检验 matlab,利用MATLAB验证样条插值的收敛性

问题提出多项式插值是不收敛的,即插值的节点多,效果不一定就好。对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,但通过本实验可以验证这一理论结果。.实验内容请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验2.1中的函数或选择其他你有兴趣的函数。(中函数)。实验要求(1)随节点个数增加,比较被逼近函数和样条插值函数误差的变化情况。分析所得结果并与拉格朗...

weixin_30895121的博客 4735

GPIB通讯的代码怎么写

GPIB(General Purpose Interface Bus)是一种用于连接计算机和测试设备的接口标准。 在写 GPIB 通讯的代码时,首先需要在计算机上安装 GPIB 驱动程序。然后,使用相应的编程语言和 GPIB 库函数来操作 GPIB 设备。 下面是一个使用 Python 语言和 pyvisa 库来实现 GPIB 通讯的示例代码: import visa# 创建 Visa 资源管理器...

weixin_35752645的博客 1546

【转】为你的Java应用嵌入一个功能强大的文字编辑器

http://xdoc.iteye.com/blog/1126216 以下文章转自:   如果你想在Java应用中嵌入一个功能强大的文字编辑器,那么XDocBuilder可能是最好的选择1、免费2、格式丰富,可以处理段落、文字、图形、图片、图表、表格等3、文件格式支持丰富:xdoc、docx、pdf、rtf、doc、htm、txt、swf、svg等4、标准格式xdoc是一个简单的xm...

郑林的专栏 213

利用WI生成无线信道数据

选取DeepMIMO的一个射线追踪场景O1(Outdoor 1)Scenario,工作频率为3.5GHz。有两条街和一个十字路口的户外场景18个基站和超过一百万个用户18个基站(BSs):BS1-BS18.每个基站的高度是8米每个基站的天线阵列是isotropic天线三个统一的x-y用户网格用户的总计数量为:1184923每个用户网格中的第一个用户总是(x,y)坐标最低的用户 所有用户的高度是2m每个用户的每个天线阵列是isotropic天线定义射频追踪场景。

bingbingaidaima的博客 5609

前端Java应用中如何嵌入支持Word上传的富文本编辑器?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5需求:复制粘贴word内容图片,word图片转存交互,导入pdf,导入PowerPoint(PPT),web截屏用户体验:Ctrl+V快捷键操作平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90694782的博客 684

深入浅出之CSPBlock模块(YOLO)

YOLO CSPX模块是YOLO系列算法中的一个重要组成部分,它通过跨阶段部分连接的方式减少了计算量,同时保证了模型的准确率。在YOLOv4及后续版本中,CSPX模块被广泛应用于主干网络和Neck结构中,为模型提供了强大的特征提取和融合能力。

浩瀚之水的专栏 6755

CNN+LSTM+Attention+DNN模型实战:pytorch搭建CNN+LSTM+Attention+DNN行车速度预测

CNN+LSTM+Attention+DNN模型实战:pytorch搭建CNN+LSTM+Attention+DNN行车速度预测

6045

【技术教程】如何将文档编辑器集成至基于Java的Web应用程序

自研文档功能成本高、兼容性差,第三方插件又容易出现 “割裂感”,怎么才能让专业文档工具和现有 Java Web 系统 “无缝对接”? ONLYOFFICE 文档轻松嵌入 Java、Python、Node.js 等各类 Web 应用,让你的系统瞬间拥有企业级文档处理能力。阅读本文,了解详细教程

ONLYOFFICE的官方博客 1260

手把手教你学Simulink——基础电机控制场景实例:基于Simulink的永磁同步发电机温度场耦合仿真

摘要:本文详细介绍了基于Simulink的永磁同步发电机(PMSG)电-热耦合仿真方法。通过Simscape Electrical搭建含热端口的PMSG模型,结合集总参数热网络(LPTN)实现损耗计算与温度反馈,分析了过载工况下温升对电阻和永磁体性能的影响。仿真结果表明:150%过载20秒会导致绕组温升132°C,电阻增加42%,磁链衰减10.5%。文章还提供了自然冷却与强迫风冷的对比数据,并建议通过多物理场耦合仿真预防实机过热问题。该方法可有效支撑高功率密度电机热设计,避免永磁体退磁风险。

MHD0815的博客 252

CKEditor在线编辑器

CKEditor是个专门使用在网上属于开放源码的文字编辑器,它用于轻量化,不需要太复杂的安装步骤即可使用,它可以和PHP,javascript,asp,java等不同的编程语言相结合。接下来介绍CKEditor在线编辑器的实例。...

Muhtar_的博客 3784

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

html java编辑器插件,5+用Java编写的最佳代码编辑器插件

本文概述如今, 开发工作正在突飞猛进, 如今你触手可及的基于云的IDE使你无论身在何处都能工作。这些服务中最重要的组件是代码编辑器。是的, 你可以在其中编辑代码的那个框用奇特的颜色, 自动完成和其他(可能)可以帮助你更快地工作的东西突出显示。享受我们5个用Java编写的最佳代码编辑器插件的集合。5. EditArea例子 EditArea是用于源代码的免费JavaScript编辑器。该编辑器旨在编...

weixin_35367645的博客 1071

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

javaweb编辑器ckeditor配置_Java Web学习笔记12:CKEditor在线编辑器

文章目录一、CKEditor概述CKEditor是一款专业在线文字编辑器,支持各种不同的浏览器,可以让Web开发者轻松实现在线编辑功能。1、在页面头部引入ckeditor核心文件ckeditor.js2、在使用编辑器的地方插入文本区控件注意在控件中加上 class="ckeditor" 。3、将相应的控件替换成编辑器代码CKEDITOR.replace('mckeditor');4、配置ckedi...

weixin_39630498的博客 302

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 免费在线文字处理软件XDocBuilder发布7.4.0版本
下一篇: 为你的Java应用嵌入一个功能强大的文字编辑器
sqlhub
博客等级 码龄21年 19粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值