20166f47c010001c1943ad5354082a0e

来自「Internet 开发技术分章节代码和自己完成的课程设计全代码(在zuoye文件」· 代码 · 共 156 行

TXT
156
字号
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*; 
import org.apache.batik.swing.*;
public class view {

    public static void main(String[] args) {

        JFrame f = new JFrame("Batik");

        view app = new view(f);

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

        f.addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent e) {

                System.exit(0);

            }

        });

        f.setSize(400, 400);

        f.setVisible(true);

    }   

    JFrame frame;

    JButton button = new JButton("Load...");

    JLabel label = new JLabel();

    JSVGCanvas svgCanvas = new JSVGCanvas();
 

    public view(JFrame f) {

        frame = f;

    }

    public JComponent createComponents() {

        final JPanel panel = new JPanel(new BorderLayout());

        JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT));

        p.add(button);

        p.add(label);

        panel.add(p, BorderLayout.NORTH);

        panel.add(svgCanvas, BorderLayout.CENTER);
 

        // Set the button action.

        button.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent ae) {

                JFileChooser fc = new JFileChooser(".");

                int choice = fc.showOpenDialog(panel);

                if (choice == JFileChooser.APPROVE_OPTION) {

                    File f = fc.getSelectedFile();

                    try {

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

                    } catch (IOException ex) {

                        ex.printStackTrace();

                    }

                }

            }

        });

 

        // Set the JSVGCanvas listeners.

        svgCanvas.addSVGDocumentLoaderListener(new SVGDocumentLoaderAdapter() {

            public void documentLoadingStarted(SVGDocumentLoaderEvent e) {

                label.setText("Document Loading...");

            }

            public void documentLoadingCompleted(SVGDocumentLoaderEvent e) {

                label.setText("Document Loaded.");

            }

        });
 

        svgCanvas.addGVTTreeBuilderListener(new GVTTreeBuilderAdapter() {

            public void gvtBuildStarted(GVTTreeBuilderEvent e) {

                label.setText("Build Started...");

            }

            public void gvtBuildCompleted(GVTTreeBuilderEvent e) {

                label.setText("Build Done.");

                frame.pack();

            }

        });

 

        svgCanvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {

            public void gvtRenderingPrepare(GVTTreeRendererEvent e) {

                label.setText("Rendering Started...");

            }

            public void gvtRenderingCompleted(GVTTreeRendererEvent e) {

                label.setText("");

            }

        });
 

        return panel;

    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?