Applicationである必要はない
前述の試し書きしたGtkTestはApplicationを継承しているが、
FileChooserをそのまま使用しているだけなので、
別にApplicationのフレームワークに乗っかる必要はないだろう。
import javafx.application.Platform; import javafx.stage.FileChooser; public class GtkTest { public static void main(String[] args) { Platform.startup(() -> {}); Platform.runLater(() -> { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("jdk.gtk.version: " + System.getProperty("jdk.gtk.version")); fileChooser.showOpenDialog(null); Platform.exit(); }); } }
Platform#startup(Runnable)はJavaFX環境を開始するためのsince 9な静的メソッドで、
これを呼んでおかないとJavaFXの機能を使用する際に実行時エラーとなる。
それにしても明示的に使っているクラスが少なくなったのにソースが全然シンプルになっていない。