Stránka 1 z 1

Java export do svg, batik.jar, cmd javac - problem

Napsal: 28 bře 2013 14:46
od JaLe29
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? Díky

ERROR:

Kód: Vybrat vše

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 PROGRAMU:

Kód: Vybrat vše

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

}

Re: Java export do svg, batik.jar, cmd javac - problem

Napsal: 28 bře 2013 18:15
od honzaik
no tak jako ecplise compiler podle mě má rovnou ty improty namapovany(vi kde sou) ale ten ve windowsech neví kde jsou ty importy mimo hlavni java package jako java.awt ale nějakej org.apache to nenajde. jako to vyčtu z 1. řadků erroru :D