Lasse Riis
2005-02-23 21:53:26 UTC
Hi
I've been looking in to your answers and trying to build my app. But I'm
stuck now. I restructured it to use some methods to build the app, as
oppose to a huge main(). It should be very clear to anyone that I am not
very familiar with Java. So sometimes I have no idea what I'm doing. And
usually just follow my IDE's (eclipse) reccommendations (hence the
'static' methods). So I hope you don't spill your coffee laughing when
looking at my code :). But bare in mind, this is the first thing I've
ever written.
I just need this to draw some simple visible image on top of my SVG and
then later figure out how to move it around. But since I have no clue
where to start, I think I've started out wrong, so maybe you could give
me input on how to restructure this poor thing to make my foundation
proper. Here we go:
import java.awt.*;
import java.awt.Graphics;
import javax.swing.*;
import org.apache.batik.swing.JSVGCanvas;
import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
public class mapIt {
public static void main(String[] args) {
JFrame frame = buildGUI();
frame.setSize(200, 600);
frame.setVisible(true);
}
public static JSVGCanvas buildCanvas(){
JSVGCanvas canvas = new JSVGCanvas();
canvas.setBackground(Color.green);
canvas.setURI("file:/home/riis/P2/maps/gangen.svg");
canvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
System.out.print("Rendering done");
Graphics box = new Graphics();
paint(box);
}
});
return canvas;
}
public static JFrame buildGUI(){
JFrame f = new JFrame("PANTS - MapIt");
JSVGCanvas svgCanvas = buildCanvas();
JSlider slider = new JSlider();
JPanel panel = new JPanel(new BorderLayout());
panel.add("North", slider);
panel.add("Center", svgCanvas);
f.getContentPane().add(panel);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
return f;
}
public void paint(java.awt.Graphics g) {
g.setColor(java.awt.Color.RED);
g.fillRect(10,10,100,100);
}
}
I've been looking in to your answers and trying to build my app. But I'm
stuck now. I restructured it to use some methods to build the app, as
oppose to a huge main(). It should be very clear to anyone that I am not
very familiar with Java. So sometimes I have no idea what I'm doing. And
usually just follow my IDE's (eclipse) reccommendations (hence the
'static' methods). So I hope you don't spill your coffee laughing when
looking at my code :). But bare in mind, this is the first thing I've
ever written.
I just need this to draw some simple visible image on top of my SVG and
then later figure out how to move it around. But since I have no clue
where to start, I think I've started out wrong, so maybe you could give
me input on how to restructure this poor thing to make my foundation
proper. Here we go:
import java.awt.*;
import java.awt.Graphics;
import javax.swing.*;
import org.apache.batik.swing.JSVGCanvas;
import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
public class mapIt {
public static void main(String[] args) {
JFrame frame = buildGUI();
frame.setSize(200, 600);
frame.setVisible(true);
}
public static JSVGCanvas buildCanvas(){
JSVGCanvas canvas = new JSVGCanvas();
canvas.setBackground(Color.green);
canvas.setURI("file:/home/riis/P2/maps/gangen.svg");
canvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
System.out.print("Rendering done");
Graphics box = new Graphics();
paint(box);
}
});
return canvas;
}
public static JFrame buildGUI(){
JFrame f = new JFrame("PANTS - MapIt");
JSVGCanvas svgCanvas = buildCanvas();
JSlider slider = new JSlider();
JPanel panel = new JPanel(new BorderLayout());
panel.add("North", slider);
panel.add("Center", svgCanvas);
f.getContentPane().add(panel);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
return f;
}
public void paint(java.awt.Graphics g) {
g.setColor(java.awt.Color.RED);
g.fillRect(10,10,100,100);
}
}