`
南山忍者
  • 浏览: 85764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
 
阅读更多



http://xdoc.iteye.com/blog/1126216

以下文章转自:

 

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

程序库:

 

名称

用途

下载地址

hg.jar

主程序库(必须)

http://www.hgsql.com/xdoc/lib/hg.jar

fgio.jar

输出swfsvgemfps

http://www.hgsql.com/xdoc/lib/fgio.jar

filters.jar

滤镜

http://www.hgsql.com/xdoc/lib/filters.jar

itext.jar

输出pdfrtf

http://www.hgsql.com/xdoc/lib/itext.jar

jfreechart.jar

图表

http://www.hgsql.com/xdoc/lib/jfreechart.jar

poi.jar

读取doc、输出xlsppt

http://www.hgsql.com/xdoc/lib/poi.jar

api文档:

http://www.hgsql.com/XDocApi/index.html

在线:

http://www.hgsql.com/XDocBuilder.asp

例子:

Java代码  收藏代码
  1. import java.awt.BorderLayout;  
  2. import java.awt.Container;  
  3. import java.awt.event.ActionEvent;  
  4. import java.awt.event.ActionListener;  
  5. import java.awt.event.WindowEvent;  
  6. import java.awt.event.WindowListener;  
  7. import java.io.File;  
  8.   
  9. import javax.swing.JButton;  
  10. import javax.swing.JFrame;  
  11. import javax.swing.JOptionPane;  
  12. import javax.swing.JToolBar;  
  13. import javax.swing.UIManager;  
  14.   
  15. import com.hg.xdoc.XDocBuilder;  
  16. import com.hg.xdoc.XDocIO;  
  17.   
  18. /** 
  19.  * XDocBuilder嵌入测试 
  20.  * @author xdoc 
  21.  */  
  22. public class XDocBuilderTest {  
  23.     private static XDocBuilder builder;  
  24.     /** 
  25.      * @param args 
  26.      */  
  27.     public static void main(String[] args) {  
  28.         try {  
  29.             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());  
  30.             //获取XDocBuilder实例  
  31.             builder = new XDocBuilder();  
  32.             JFrame frame = new JFrame("XDocBuilder嵌入测试");  
  33.             //将XDocBuilder放入面板中  
  34.             frame.getContentPane().add(builder, BorderLayout.CENTER);  
  35.             JToolBar bar = new JToolBar("工具条");  
  36.             JButton btn = new JButton("新建");  
  37.             btn.addActionListener(new ActionListener() {  
  38.                 public void actionPerformed(ActionEvent e) {  
  39.                     //新建  
  40.                     builder.create();  
  41.                 }  
  42.             });  
  43.             btn = new JButton("打开");  
  44.             btn.addActionListener(new ActionListener() {  
  45.                 public void actionPerformed(ActionEvent e) {  
  46.                     //打开  
  47.                     builder.open();  
  48.                     //builder.open("http://www.hgsql.com/down/XDocIntro.xdoc", XDocIO.READ_FORMAT_XDOC);  
  49.                 }  
  50.             });  
  51.             bar.add(btn);  
  52.             btn = new JButton("查看XML");  
  53.             btn.addActionListener(new ActionListener() {  
  54.                 public void actionPerformed(ActionEvent e) {  
  55.                     //显示XML内容  
  56.                     try {  
  57.                         JOptionPane.showMessageDialog(null, builder.getXml());  
  58.                     } catch (Exception e1) {  
  59.                         JOptionPane.showMessageDialog(null, e1.getMessage());  
  60.                     }  
  61.                 }  
  62.             });  
  63.             bar.add(btn);  
  64.             btn = new JButton("保存");  
  65.             btn.addActionListener(new ActionListener() {  
  66.                 public void actionPerformed(ActionEvent e) {  
  67.                     //保存当前文件  
  68.                     builder.save();  
  69.                 }  
  70.             });  
  71.             bar.add(btn);  
  72.             btn = new JButton("全部保存");  
  73.             btn.addActionListener(new ActionListener() {  
  74.                 public void actionPerformed(ActionEvent e) {  
  75.                     for (int i = 0; i < builder.getXDocCount(); i++) {  
  76.                         //选择第i个文件  
  77.                         builder.activeXDoc(i);  
  78.                         //保存  
  79.                         builder.save();  
  80.                         //builder.save("xdox" + i + ".rtf", XDocIO.WRITE_FORMAT_PDF);  
  81.                     }  
  82.                 }  
  83.             });  
  84.             bar.add(btn);  
  85.             btn = new JButton("关闭");  
  86.             btn.addActionListener(new ActionListener() {  
  87.                 public void actionPerformed(ActionEvent e) {  
  88.                     //关闭当前文件  
  89.                     builder.close();  
  90.                 }  
  91.             });  
  92.             bar.add(btn);  
  93.             btn = new JButton("打印");  
  94.             btn.addActionListener(new ActionListener() {  
  95.                 public void actionPerformed(ActionEvent e) {  
  96.                     builder.print();  
  97.                 }  
  98.             });  
  99.             bar.add(btn);  
  100.             btn = new JButton("直接打印");  
  101.             btn.addActionListener(new ActionListener() {  
  102.                 public void actionPerformed(ActionEvent e) {  
  103.                     //打印到指定打印机  
  104.                     builder.print("HG JPD 虚拟打印机");  
  105.                 }  
  106.             });  
  107.             bar.add(btn);  
  108.             btn = new JButton("关于");  
  109.             btn.addActionListener(new ActionListener() {  
  110.                 public void actionPerformed(ActionEvent e) {  
  111.                     builder.about();  
  112.                 }  
  113.             });  
  114.             bar.add(btn);  
  115.             Container content = frame.getContentPane();  
  116.             content.add(bar, BorderLayout.NORTH);  
  117.             frame.setSize(800600);  
  118.             frame.setVisible(true);  
  119.             frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);  
  120.             frame.addWindowListener(new WindowListener() {  
  121.                 public void windowOpened(WindowEvent e) {}  
  122.                 public void windowClosing(WindowEvent e) {  
  123.                     //frame关闭时做处理  
  124.                     for (int i = 0; i < builder.getXDocCount(); i++) {  
  125.                         try {  
  126.                             XDocIO.write(builder.getXDoc(i), new File("c:/xdoc" + i + ".xdoc"));  
  127.                         } catch (Exception e1) {  
  128.                             JOptionPane.showMessageDialog(null, e1.getMessage());  
  129.                         }  
  130.                     }  
  131.                     System.exit(0);  
  132.                 }  
  133.                 public void windowClosed(WindowEvent e) {}  
  134.                 public void windowIconified(WindowEvent e) {}  
  135.                 public void windowDeiconified(WindowEvent e) {}  
  136.                 public void windowActivated(WindowEvent e) {}  
  137.                 public void windowDeactivated(WindowEvent e) {}  
  138.             });  
  139.             frame.setExtendedState(JFrame.MAXIMIZED_BOTH);  
  140.         } catch (Exception e) {  
  141.             JOptionPane.showMessageDialog(null, e.getMessage());  
  142.         }  
  143.     }  
  144. }  

 运行效果:


分享到:
评论

相关推荐

    java上传文件和文本编辑器功能

    在Java开发中,文件上传和文本编辑器功能是常见的需求,尤其在Web应用中。本文将深入探讨如何使用Java实现这两个功能,以及涉及到的关键技术。 首先,文件上传是Web应用程序中用户交互的重要部分,通常涉及表单提交...

    java使用FCKEditor富文本编辑器

    Java 使用 FCKEditor 富文本编辑器是一种常见的前端与后端交互方式,FCKEditor 是一个功能强大的开源富文本编辑器,它允许用户在网页上编辑 HTML 内容,类似于 Microsoft Word 的界面,使得非技术人员也能轻松编辑...

    Java软件 简繁转换易jar程式嵌入工具

    用户可以通过命令行界面运行这个jar文件,或者将其嵌入到其他Java应用程序中作为库来调用其转换功能。例如,在一个Java项目中,开发者可以使用`java -jar 简繁转换易.jar`命令来启动这个工具。 在使用Java软件简繁...

    fck嵌入JAVA

    总结,Java应用中嵌入FCKeditor涉及前端编辑器的引入和配置,以及后端接收和处理富文本内容。在实际开发中,还需要关注安全性、性能优化和用户体验等方面。理解这些知识点有助于构建高效、安全的Web编辑器应用。

    tinymce在线编辑器forjava版带上传

    在Java环境中集成TinyMCE,可以为Web应用程序提供一个用户友好的文本编辑界面,支持多种格式的文字、图片、表格等元素的编辑和插入。这个“tinymce在线编辑器forjava版带上传”是一个经过修改的版本,特别增加了文件...

    HTML编辑器在JAVA WEB下的应用研究.pdf

    2. 页面集成:在HTML页面中创建一个IFrame或者利用contenteditable特性,为编辑器预留空间。 3. 初始化编辑器:通过JavaScript调用KindEditor的API,设置编辑器的配置,如工具栏、语言、初始内容等。 4. 数据交互:...

    JSP文本编辑器(功能非常强大)(源码)

    综上所述,JSP文本编辑器是一个集成了多种文字处理功能的Web应用,它利用JSP和Java技术实现了与服务器的高效交互,通过富文本编辑器提供用户友好的编辑界面。这个编辑器的源码分析和学习对于了解Web开发中的前后端...

    一个可以应用于ASP.net,Java等动态网页的富文本编辑器

    总之,CKEditor作为一个强大的富文本编辑器,为Web开发带来了极大的便利。无论是简单的文字编辑还是复杂的多媒体内容创建,都能在网页上轻松完成。无论你是ASP.NET、Java还是PHP开发者,CKEditor都是值得信赖的选择...

    基于HTML文字编辑器

    HTML文字编辑器是一种在网页上实现文本输入、格式化和编辑功能的工具,常用于创建动态网站内容。这种编辑器允许用户通过简单的界面,就像使用常见的桌面文字处理软件一样,来编写和编辑网页内容,而无需深入理解HTML...

    在线文本编辑器ckeditor3.6.2 for JAVA

    CKEditor 3.6.2是该编辑器的一个版本,专为Java环境设计。 CKEditor 3.6.2 for Java版主要包含以下组件: 1. WAR包:WAR(Web Application Archive)是Java Web应用程序的标准打包格式,可以直接部署在支持Servlet...

    飞鱼在线编辑器

    JSP的优势在于其可移植性、性能和强大的Java生态系统支持,这使得飞鱼编辑器可以跨平台运行,并且能够利用丰富的Java库来扩展功能。 在线编辑器的安全性是至关重要的。描述中提到的“望验证有没有病毒”表明用户...

    html文本编辑器集合

    综上所述,这个"html文本编辑器集合"是一个宝贵的资源,它不仅提供了多种实际应用的编辑器实例,还涵盖了Web开发中的关键技术,如Java、JSP和JavaScript,对于初学者和经验丰富的开发者都是极好的学习材料。...

    fckeditor 文字编辑器

    **fckeditor文字编辑器详解** **一、简介** FCKeditor是一款开源的Web富文本编辑器,它在早期的Web开发中广泛使用,为用户提供了一种在网页上创建和编辑内容的方式,类似于桌面应用程序中的Word处理体验。...

    富文本编辑器导出word

    富文本编辑器是一种常见的网页和应用程序组件,它允许用户创建和编辑复杂的文本内容,包括格式化文字、插入图片、超链接等。在许多业务场景中,我们可能需要将富文本编辑器中的内容导出为Word文档,以便于分享、打印...

    可以嵌入WEB页面的富文本编辑框

    只需一行代码,就能将一个简单的textarea转换为功能丰富的编辑器,这是富文本编辑框的一个关键特性,简化了开发者集成编辑器到他们网站的过程。 标签“富文本编辑框”和“可以嵌入WEB页面”进一步强调了这个编辑框...

    在线文本编辑器

    在线文本编辑器是一种网页应用程序,它允许用户在浏览器中创建、编辑和格式化文本,而无需离开网页。这种编辑器通常被用在内容管理系统(CMS)、论坛、博客平台或者任何需要用户输入富文本的地方。本项目提供的编辑...

    经典好用ubb编辑器

    "经典好用ubb编辑器"是一款设计精良且功能实用的编辑器,它自带三种表情,提供美观的用户界面,非常适合嵌入到各种网页应用中。本文将深入探讨ubb编辑器的特点、工作原理以及如何在网页中集成使用。 **一、ubb编辑...

    UEditor在线编辑器

    UEditor 是百度推出的一款开源的富文本在线编辑器,它为用户提供了丰富的文本编辑功能,包括文字样式、图片上传、表格操作、代码高亮等,广泛应用于网站内容管理、博客写作、论坛发帖等多个场景。UEditor 设计简洁,...

    JSP下在线编辑器,比较好

    eWebEditor是一款常见的JSP在线编辑器,它为网站提供了一个便捷的文本编辑工具,使得用户可以在网页上实现类似Word的编辑体验。这款编辑器支持多种文本格式化操作,包括字体设置、颜色调整、段落样式、列表、表格、...

    JSP页面文本编辑器

    然后,可以创建一个textarea元素,FCKeditor会将其替换为可视化的编辑界面。在服务器端,开发者需要处理由FCKeditor提交的富文本内容,这通常涉及到HTML的解析和存储。 总之,FCKeditor作为一款强大的JSP页面文本...

Global site tag (gtag.js) - Google Analytics