Java export do svg, batik.jar, cmd javac - nejde kompilovat
Ahoj. Exportuji z javy do svg pres batik.jar. Jde o to ze v eclipsu to krasne beha, ale kdyz volam javac v cmd hlasi to error, nechapu proc, je nutne uvest prikaz javac v nejakem jinem tvaru? A jakem? diky
Jde o balík: batik
Error vypadá:
Slozitejsi.java:15: error: package org.apache.batik.dom does not exist
import org.apache.batik.dom.GenericDOMImplementation;
^
Slozitejsi.java:16: error: package org.apache.batik.svggen does not exist
import org.apache.batik.svggen.SVGGraphics2D;
^
Slozitejsi.java:91: error: cannot find symbol
GenericDOMImplementation.getDOMImplementation();
^
symbol: variable GenericDOMImplementation
location: class Slozitejsi
Slozitejsi.java:99: error: cannot find symbol
SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
^
symbol: class SVGGraphics2D
location: class Slozitejsi
Slozitejsi.java:99: error: cannot find symbol
SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
^
symbol: class SVGGraphics2D
location: class Slozitejsi
5 errors
>Exit code: 1
Zdroják:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.GeneralPath;
import java.io.FileWriter;
import java.io.Writer;
import javax.swing.JFrame;
import org.apache.batik.dom.GenericDOMImplementation;
import org.apache.batik.svggen.SVGGraphics2D;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
public class Slozitejsi extends JFrame {
public void paint(Graphics g){
paint2D((Graphics2D)g);
}
public void paint2D(Graphics2D g2) {
int width = this.getWidth();
int height = this.getHeight();
// vymazani platna
g2.setColor(Color.WHITE);
g2.fillRect(0, 0, width, height);
g2.setColor(Color.black);
// TODO vytvorime ctverec s oblymi rohy pomoci general path
GeneralPath oblyCtverec = new GeneralPath();
// TODO pocatek objektu stanovime na 100,100, zacneme ale z nezakulaceneho praveho horniho rohu
oblyCtverec.moveTo(200, 100);
// TODO prava a spodni hrana jako jedna bezierova krivka
// zdvojenim prostredniho bodu dosahneme zakulaceneho rohu
oblyCtverec.curveTo(200, 200, 200, 200, 100, 200);
// TODO leva a vrchni hrana jako jedna bezierova krivka
oblyCtverec.curveTo(100, 100, 100, 100, 200, 100);
// uzavreme objekt
oblyCtverec.closePath();
// a vykreslime
g2.draw(oblyCtverec);
/// BONUSOVA ULOHA - vykresleni sipek
g2.drawRect(100, 100, 300, 300);
drawArrow(g2, 80, 350, 200, 270);
drawArrow(g2, 250, 200, 150, 135);
drawArrow(g2, 130, 430, 200, 0);
}
public void drawArrow(Graphics2D g, int x, int y, int delka, double uhel) {
AffineTransform orig = g.getTransform();
// provedeme transformace -
// - nutno dodrzet "opacne" poradi prikazu nez jak je chceme provest
// translace do zadaneho bodu
g.translate(x, y);
// rotace o zadany uhel - chceme rotovat ve vychozi pozici
g.rotate(Math.toRadians(uhel));
// vykresleni tela sipky rovnobezne s x-ovou osou
g.drawLine(0, 0, delka, 0);
// hrot musi byt posunuty na konec sipky
g.translate(delka, 0);
// vykresleni hrotu sipky
g.drawLine(0, 0, -10, -10);
g.drawLine(0, 0, -10, 10);
g.setTransform(orig);
}
/**
* @param args
*/
public static void main(String[] args) {
Slozitejsi okno = new Slozitejsi();
okno.setTitle("Slozitejsi tvary");
okno.setSize(640, 480);
okno.setDefaultCloseOperation(EXIT_ON_CLOSE);
okno.setLocationRelativeTo(null); //vycentruje okno
okno.setVisible(true);
// TODO - odcommentovat :)
// Document Object Model - ziskani definice dokumentu jako objektu
DOMImplementation domImpl =
GenericDOMImplementation.getDOMImplementation();
// Vytvoreni org.w3c.dom.Document. dokumentu
String svgNS = "www.w3.org/2000/svg";
Document document = domImpl.createDocument(svgNS, "svg", null);
// TODO
// Vytvoreni instance SVG generatoru
SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
// TODO
// vykresleni obsahu okna pomoci metody paint2D a vytvoreneho generatoru
okno.paint2D(svgGenerator);
// Zapsani vystupu jako SVG za pouziti kodovani UTF-8
Writer out;
try {
out = new FileWriter("F:\\vystup.svg");
svgGenerator.stream(out, true); // true - chceme pouzivat css znacky
} catch (Exception e) {
e.printStackTrace();
}
}
}
Jde o nějaký impor java -classpath...?