• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            逛奔的蝸牛

            我不聰明,但我會(huì)很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::

            如果你想在Java應(yīng)用中嵌入一個(gè)功能強(qiáng)大的文字編輯器,那么XDocBuilder可能是最好的選擇
            1、免費(fèi)
            2、格式豐富,可以處理段落、文字、圖形、圖片、圖表、表格等
            3、文件格式支持豐富:xdoc、docx、pdf、rtf、doc、htm、txt、swf、svg等
            4、標(biāo)準(zhǔn)格式xdoc是一個(gè)簡單的xml文本
            5、包依賴少,只有一個(gè)包是必須的
            6、嵌入簡單,它只是一個(gè)JComponent
            7、API功能強(qiáng)大:打開、編輯、打印、格式轉(zhuǎn)換等

            程序庫:

             

            名稱

            用途

            下載地址

            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實(shí)例  
            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內(nèi)容  
            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.                     //保存當(dāng)前文件  
            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個(gè)文件  
            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("關(guān)閉");  
            86.             btn.addActionListener(new ActionListener() {  
            87.                 public void actionPerformed(ActionEvent e) {  
            88.                     //關(guān)閉當(dāng)前文件  
            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.                     //打印到指定打印機(jī)  
            104.                     builder.print("HG JPD 虛擬打印機(jī)");  
            105.                 }  
            106.             });  
            107.             bar.add(btn);  
            108.             btn = new JButton("關(guān)于");  
            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關(guān)閉時(shí)做處理  
            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. }  

             運(yùn)行效果:



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

            @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
            posted on 2011-09-17 18:44 逛奔的蝸牛 閱讀(1844) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Java

            評(píng)論

            # re: Java:為你的Java應(yīng)用嵌入一個(gè)功能強(qiáng)大的文字編輯器[未登錄] 2016-08-01 15:04 1
            1  回復(fù)  更多評(píng)論
              

            久久噜噜电影你懂的| 久久99精品久久久久久动态图 | 久久影院亚洲一区| 亚洲Av无码国产情品久久| 亚洲综合日韩久久成人AV| 久久久久人妻一区精品性色av| 久久一日本道色综合久久| 久久综合综合久久狠狠狠97色88| 久久精品无码一区二区三区日韩 | 2021国内精品久久久久久影院| 国产成年无码久久久免费| 国产成人精品久久一区二区三区 | 国产L精品国产亚洲区久久| 久久无码国产| 国产精品99久久99久久久| 久久精品成人欧美大片| 99久久夜色精品国产网站| 久久久91精品国产一区二区三区 | 久久国产精品99精品国产987| 久久国产免费直播| 久久综合国产乱子伦精品免费| 精品久久久久久99人妻| 国产精品一区二区久久| 久久伊人色| 久久九九亚洲精品| 一本一本久久a久久综合精品蜜桃| 国产午夜久久影院| 综合网日日天干夜夜久久| 久久成人国产精品一区二区| 久久精品国产亚洲AV嫖农村妇女| 久久久久国产亚洲AV麻豆| 久久超碰97人人做人人爱| 亚洲国产视频久久| 99久久精品国产一区二区蜜芽| 亚洲精品乱码久久久久久按摩| 久久久久噜噜噜亚洲熟女综合| 69久久精品无码一区二区| 国内精品人妻无码久久久影院导航| 国内精品欧美久久精品| 一本色道久久88加勒比—综合| 久久久久亚洲AV无码麻豆|