(Clojure)JavaFX2とseesawの連携
JavaFX2には JFXPanel という swing向けのコントロールがあります。
これをswingのJFrameに載せると、swing内で動くJavaFX2アプリが作れます。
swingでできるってことは seesawでもできるはずですよね。
というわけで試してみました。「連携」というほどのことはしていませんが。
ポイントは、JavaFX2, Swing それぞれを別々のスレッドで動作させるところです。
SwingではSwingUtilities/InvokeLaterを使うことでSwingのコントロール操作を別スレッドへ委譲しますが、JavaFX2にも Platform/runLater というほとんど同じ用途のメソッドが用意されています。
seesawではinvoke-laterというSwingUtilities/InvokeLaterのラッパーマクロがありますので、それにあわせてJavaFX2側にも jfx-run-laterというマクロを作ってみました。
seesawとJavaFX2の世界が別々に作られ、JFXPanelが仲介役になっているのが分かると思います。