ImageViewでSVGを表示

JavaFX 2.0のImageViewでSVGを表示する方法なんですが、stack overflowにコードがあります。
Load SVG file in javafx 2.0
ロードというよりエンコードしてPNGなどで表示する訳です。
batik-1.7を使ってます。
JSVGCanvasを使って表示しても良いのですがJSVGCanvasはjavax.swing.JComponentなのでJavaFX 2.0としてはSceneに貼付けできないですJFXPanelを使って同じウィンドウでCardLayoutなどでSceneと切り替え表示することはできます。
まあSwingのスレッドで別ウィンドウで表示すれば良いだけともいえます。
stack overflowのコードはcom.sun.image.codec.jpegを使っているのでjavax.media.jaiに変えた方が良いですね。
javax.media.jaiはインストールが必要です。
jai-1_1_3-lib-windows-i586.jar.zipを展開しjai_windows-i586.jarをjar xvfコマンドで展開するとjai-1_1_3-lib-windows-i586-jre.exeが出てきます。

Mac OS Xの場合jarを/Library/Java/Extensionsに持ってく事が多いのですがbatik-1.7のjarを置くとscalafxの新規プロジェクトが作成できなくなり/Library/Java/Extensionsにbatik-1.7のjarを置くのはやめてコマンドで対処しました。

stack overflowのコードでは
JPEGImageEncoderとJPEGCodecを使っていますが古くて無いです。
以下の部分を修正してコンパイルしてください。

JAIのimport に変えます
import javax.media.jai.*;

// import com.sun.image.codec.jpeg.JPEGImageEncoder;
// import com.sun.image.codec.jpeg.JPEGCodec;

imageEncoderもJAIに変えます。
 JAI.create("encode", bufferedImage, outputStream, "PNG", null);

/*
JPEGImageEncoder imageEncoder = JPEGCodec.createJPEGEncoder(outputStream);
 try{
imageEncoder.encode(bufferedImage);
}catch(java.io.IOException ioe){System.out.println(ioe);}
*/

コンパイル
batik-1.7/lib/*とjavafx-sdk2.2.0-beta/rt/lib/jfxrt.jarをクラスパスに追加"."も忘れずに

javac -cp "/Users/hshino/Downloads/batik-1.7/lib/*:.:/Users/hshino/Downloads/javafx-sdk2.2.0-beta/rt/lib/jfxrt.jar" SVG_ImageView.java

実行

java -cp "/Users/hshino/Downloads/batik-1.7/lib/*:.:/Users/hshino/Downloads/javafx-sdk2.2.0-beta/rt/lib/jfxrt.jar" SVG_ImageView