EclipseでJavaFXのjar(jfxrt.jar)にソースコードをattachする

方法が分からないと先日書きましたが、分かったのでメモ。

# JavaFXのコードを読み書きしていて、これってどういうクラス??ってなったときに実装を確認できるとベンリだからやるだけです。

ソースコードの場所

JavaFXが以前SDKとして配布されていた頃は、ソースコードも同梱されていたようですが、現在はjarだけがJDKと一緒に配布されているみたいですね。

次の場所からcloneして入手します。

「2.2」の箇所は、欲しいバージョンに応じて変更します。OpenJFXプロジェクトのページ(http://openjdk.java.net/projects/openjfx/)からは、古いバージョンのリポジトリにリンクされていることもあるので、注意します。

Eclipse

せっかくe(fx)clipseプラグインをインストールしたのに残念ですが、JavaFXプロジェクトを作ってしまうと、ソースコードをattachできません。

The current class path entry belongs to countainer 'JavaFX SDK' which does not allow user modifications to source attachments on its entries.

というわけで、

  1. Javaプロジェクトを作り直す
  2. %JAVA_HOME%\jre\lib\jfxrt.jarをコピーして、プロジェクト内のライブラリ用のフォルダ(何でもOK)に入れる
  3. 右クリック→[Properties]→[Java Source Attachment]で先ほどのcloneしたフォルダを指定する

以上。

[Window]→[Preference]→[JavaFX]で利用するJavaFXを指定できますが、ソースコードを適用する設定はありません。また、[Preference]→[Java]→[Instaled JREs]でも設定できません。そのへんでちょっと困ったのでした。