1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java batik_Java Batik框架画SVG图 JSVGCanvas

java batik_Java Batik框架画SVG图 JSVGCanvas

时间:2020-11-25 12:53:30

相关推荐

java batik_Java Batik框架画SVG图 JSVGCanvas

软件下载地址:

创建一个JSVGCanvas代码案例:importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

importjavax.swing.*;

importorg.apache.batik.swing.JSVGCanvas;

importorg.apache.batik.swing.gvt.GVTTreeRendererAdapter;

importorg.apache.batik.swing.gvt.GVTTreeRendererEvent;

importorg.apache.batik.swing.svg.SVGDocumentLoaderAdapter;

importorg.apache.batik.swing.svg.SVGDocumentLoaderEvent;

importorg.apache.batik.swing.svg.GVTTreeBuilderAdapter;

importorg.apache.batik.swing.svg.GVTTreeBuilderEvent;

publicclassSVGApplication{

publicstaticvoidmain(String[]args){

//CreateanewJFrame.

JFramef=newJFrame("Batik");

SVGApplicationapp=newSVGApplication(f);

//Addcomponentstotheframe.

f.getContentPane().add(app.createComponents());

//Displaytheframe.

f.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

f.setSize(400,400);

f.setVisible(true);

}

//Theframe.

protectedJFrameframe;

//The"Load"button,whichdisplaysupafilechooseruponclicking.

protectedJButtonbutton=newJButton("Load...");

//Thestatuslabel.

protectedJLabellabel=newJLabel();

//TheSVGcanvas.

protectedJSVGCanvassvgCanvas=newJSVGCanvas();

publicSVGApplication(JFramef){

frame=f;

}

publicJComponentcreateComponents(){

//Createapanelandaddthebutton,statuslabelandtheSVGcanvas.

finalJPanelpanel=newJPanel(newBorderLayout());

JPanelp=newJPanel(newFlowLayout(FlowLayout.LEFT));

p.add(button);

p.add(label);

panel.add("North",p);

panel.add("Center",svgCanvas);

//Setthebuttonaction.

button.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventae){

JFileChooserfc=newJFileChooser(".");

intchoice=fc.showOpenDialog(panel);

if(choice==JFileChooser.APPROVE_OPTION){

Filef=fc.getSelectedFile();

try{

svgCanvas.setURI(f.toURL().toString());

}catch(IOExceptionex){

ex.printStackTrace();

}

}

}

});

//SettheJSVGCanvaslisteners.

svgCanvas.addSVGDocumentLoaderListener(newSVGDocumentLoaderAdapter(){

publicvoiddocumentLoadingStarted(SVGDocumentLoaderEvente){

label.setText("DocumentLoading...");

}

publicvoiddocumentLoadingCompleted(SVGDocumentLoaderEvente){

label.setText("DocumentLoaded.");

}

});

svgCanvas.addGVTTreeBuilderListener(newGVTTreeBuilderAdapter(){

publicvoidgvtBuildStarted(GVTTreeBuilderEvente){

label.setText("BuildStarted...");

}

publicvoidgvtBuildCompleted(GVTTreeBuilderEvente){

label.setText("BuildDone.");

frame.pack();

}

});

svgCanvas.addGVTTreeRendererListener(newGVTTreeRendererAdapter(){

publicvoidgvtRenderingPrepare(GVTTreeRendererEvente){

label.setText("RenderingStarted...");

}

publicvoidgvtRenderingCompleted(GVTTreeRendererEvente){

label.setText("");

}

});

returnpanel;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。