2019独角兽企业重金招聘Python工程师标准>>>

package example;import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
import org.apache.batik.swing.svg.GVTTreeBuilderAdapter;
import org.apache.batik.swing.svg.GVTTreeBuilderEvent;
import org.apache.batik.swing.svg.JSVGComponent;
import org.apache.batik.swing.svg.SVGDocumentLoaderAdapter;
import org.apache.batik.swing.svg.SVGDocumentLoaderEvent;public class SVGComponentDemo {public static void main(String[] args) {// Create a new JFrame.JFrame f = new JFrame("Batik");SVGComponentDemo app = new SVGComponentDemo(f);// Add components to the frame.f.getContentPane().add(app.createComponents());// Display the frame.f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});f.setSize(400, 400);f.setVisible(true);}// The frame.protected JFrame frame;// The "Load" button, which displays up a file chooser upon clicking.protected JButton button = new JButton("Load...");// The status label.protected JLabel label = new JLabel();// The SVG componentprotected JSVGComponent svgComponent = new JSVGComponent(null, false, false);public SVGComponentDemo(JFrame f) {frame = f;}public JComponent createComponents() {// Create a panel and add the button, status label and the SVG canvas.final JPanel panel = new JPanel(new BorderLayout());JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT));p.add(button);p.add(label);panel.add("North", p);panel.add("Center", svgComponent);// Set the button action.button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent ae) {JFileChooser fc = new JFileChooser(".//images");int choice = fc.showOpenDialog(panel);if (choice == JFileChooser.APPROVE_OPTION) {File f = fc.getSelectedFile();try {svgComponent.loadSVGDocument(f.toURL().toString());} catch (IOException ex) {ex.printStackTrace();}}}});// Set the JSVGComponent listeners.svgComponent.addSVGDocumentLoaderListener(new SVGDocumentLoaderAdapter() {public void documentLoadingStarted(SVGDocumentLoaderEvent e) {label.setText("Document Loading...");}public void documentLoadingCompleted(SVGDocumentLoaderEvent e) {label.setText("Document Loaded.");}});svgComponent.addGVTTreeBuilderListener(new GVTTreeBuilderAdapter() {public void gvtBuildStarted(GVTTreeBuilderEvent e) {label.setText("Build Started...");}public void gvtBuildCompleted(GVTTreeBuilderEvent e) {label.setText("Build Done.");frame.pack();}});svgComponent.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {public void gvtRenderingPrepare(GVTTreeRendererEvent e) {label.setText("Rendering Started...");}public void gvtRenderingCompleted(GVTTreeRendererEvent e) {label.setText("");}});return panel;}
}

转载于:https://my.oschina.net/u/172969/blog/159699

JAVA画SVG图(Batik框架)SVGComponentDemo相关推荐

  1. html可以用坐标画svg图吗,HTML5如何使用SVG的方法示例

    代码优化永远是程序员亘古不变的需求,而合理的利用SVG图片来代替部分PNG/JPG等格式的图片则是前端优化重要的一环,既然是优化,那我们先来看看SVG图片都有哪些优势: SVG 可被非常多的工具读取和 ...

  2. 用java画爱心图_java实现心形图案桃心

    相信对于打印三角形都没什么难度,只必要诳骗for轮回嵌套驾驭就行可是看待打印圆形和三角形分袂原故到圆心隔绝相称的点大凡不会横坐标和纵坐标都为整数打印爱酷爱心的公式(x²+y²-1)³-x²*y³=0调 ...

  3. 用java画太阳图_使用Java制作太阳系模型(3)

    开发工具与关键技术:MyEclipse 10.JAVA 作者:曾浩源 撰写时间:2019年04月22日 做任何程序都离不开良好的封装,封装好自己代码,到时候传变量到方法,即可一步到位.像太阳系,虽然它 ...

  4. java画折线图和柱状图结合的综合图(用jfreechart)

    最近项目增加了需求,想要下载折线图和柱状图结合的综合图.我查了一会儿,要实现这个功能,我使用了这两个第三方包了: jfreechart-1.0.19.jar jcommon-1.0.23.jar 效果 ...

  5. 用java画爱心图_Java画心形线

    画出心形线,同时在左上角显示步长值和画图所用时间 import java.awt.*; import java.awt.event.*; import java.awt.image.*; import ...

  6. 用java画爱心图_C++和Java命令行绘制心形图案

    心形线 心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹,因其形状像心形而得名. 心脏线亦为蚶线的一种.在曼德博集合正中间的图形便是一个心脏线.心脏线的英文名称& ...

  7. 用java画爱心图_用java实现 图片组成心形图案

    灵感:java2核心技术卷1(共两卷) 最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案...你懂得 import java.awt.*; import java.awt.ge ...

  8. JAVA画色盲图_一个色盲竟然能画出这么精美的色彩...

    点点一直觉得装饰画对于色彩的的搭配 要求非常的高,以及你对色彩的把握能力 看到一个色盲竟然能画出如此精美的图案来 点点也是有点惊呆了 学画画的厉害了 还可以手绘画地毯 丙烯和油墨精心制作的手绘波斯地毯 ...

  9. 用java画网状图_如何在背景中绘制一个带网格线的漂亮条形图?

    我是Matlab的新手 . 我做了一个实验 . 我需要帮助将结果绘制在2条形图(具有不同颜色)中,结果图形需要有网格线 . 有人建议使用非常matlap的代码输出一个漂亮的情节吗? 数据如下: x轴是 ...

  10. 用java画爱心图_用java输出一个心型图案

    public class test_23 { public static void main(String[] args) { //打印输出菱形的上半部分 for (int i = 0; i < ...

最新文章

  1. 【 Linux 】记录下第一次使linux系统遇到的问题(系统安装、配置查看、搜狗输入法安装)
  2. android关闭触摸声音,如何在Android中以编程方式禁用触摸时的振动和声音?
  3. 弹出窗口显示输出内容_前端加油站(3)-JavaScript 输出
  4. 解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)
  5. 最大流 (Maximum Flow) 之 流网络和流
  6. 决策树中的基尼系数、 熵之半和分类误差率
  7. 基本农田卫星地图查询_天地图山东,购房者勘测利器,国产骄傲
  8. 一个UE4崩溃问题以及解决方案
  9. 计量经济学(三)--假设检验
  10. x265使用方法与命令行解析
  11. python根据星座测性格_星座能够测试个人的性格吗?
  12. php控制打印机打印设置,专为控制打印设计的CSS样式
  13. 使用wireshark找不到“捕获接口”问题的解决
  14. 3.DesignForVias\AlignVia
  15. 远心F-theta镜ZEMAX设计
  16. ue/um-editor实现word图片复制
  17. 实验7-1-9 数字加密 (15 分)
  18. 2GHz的德州仪器OMAP4460双核处理器
  19. VMD确定分解个数K
  20. exe反编译为pyc,再反编译为py

热门文章

  1. python代码怎么运行_如何让Python代码加速运行?
  2. python session模块_python requests模块session的使用建议及整个会话中的所有cookie的方法...
  3. 阶乘因式分解 一 c语言,阶乘因式分解(一)(C/C++语言代码)
  4. python中re是什么库_Python正则表达式和re库知识点总结
  5. .describe() python_Stataamp;Python | 分别实现多元线性回归
  6. 用c#转换word或excel文档为html文件,C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例...
  7. 阿里云 centos7 tomcat 启动巨慢的解决方法(几分钟)
  8. sublime livereload插件
  9. Fenzo:来自Netflix基于Java语言的Mesos调度器
  10. 梅山启动建设智慧管网 为城市管理者提供智能决策支持