I'm still quite lost in the batik toolbox....
I tried to get antialiasing on a JSVGCanvas (actually the one from the exemple on the site) by doing:
svgCanvas.getGraphicsNode().setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
This doesn't crash but I can't see any differences....
So (again) I bug the mailling list....
You will find attached the whole sources (about the same than the exemple...).
/*
 * Created on Nov 21, 2004
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package gui.svg;
import org.apache.batik.svggen.SVGRenderingHints;

/**
 * @author till
 */




import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

import org.apache.batik.swing.JSVGCanvas;
import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
import org.apache.batik.swing.svg.SVGDocumentLoaderAdapter;
import org.apache.batik.swing.svg.SVGDocumentLoaderEvent;
import org.apache.batik.swing.svg.GVTTreeBuilderAdapter;
import org.apache.batik.swing.svg.GVTTreeBuilderEvent;

public class Test {

public static void main(String[] args) {
	JFrame f = new JFrame("Batik");
    Test app = new Test(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 Test(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("North", p);
    panel.add("Center", svgCanvas);

    // 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();
                }
            }
            //AntiAliasing...
        }
    });

    // 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.");
            svgCanvas.getGraphicsNode().setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
            svgCanvas.updateUI();
            frame.pack();
        }
    });

    svgCanvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
        public void gvtRenderingPrepare(GVTTreeRendererEvent e) {
            label.setText("Rendering Started...");
        }
        public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
            label.setText("");
        }
    });

    return panel;
}
}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to