web-dev-qa-db-ja.com

JavaFXのバージョン番号を取得する方法は?

使用しているJavaFXのバージョンを実行時に調べるにはどうすればよいですか?

37
dajood
com.Sun.javafx.runtime.VersionInfo.getRuntimeVersion();
36
Sergey Grinev

簡単な方法の1つは、単にjavafx.propertiesファイルは$Java_HOME/jre/libディレクトリ。

現時点でJava 1.7 u9がインストールされています。これにバンドルされているJavaFXはv2.0.3なので、上記のファイルには次の行が含まれています。

javafx.runtime.version=2.0.3
43
DejanLekic

javafx.runtime.versionシステムプロパティからの番号。

import javafx.application.Application;
import javafx.stage.Stage;
public class ReportVersion extends Application {
  public static void main(String[] args) { launch(args); }
  @Override public void start(Stage stage) {
    System.out.println("javafx.runtime.version: " + System.getProperties().get("javafx.runtime.version"));
    System.exit(0);
  }
}

署名されていないアプリケーションがブラウザに埋め込まれている場合、またはWebStartを介してアクセスされている場合、システムプロパティアクセスメソッドはセキュリティ例外を引き起こす可能性があるため、Sergeyのcom.Sunすべてのcom.Sun呼び出しは非推奨であり、公式のJavaFXパブリックAPIの一部ではありません。

更新

セルゲイの答えに対する@assyliasのコメントは、セルゲイのcom.Sun署名されていないアプリケーションがブラウザに埋め込まれている場合、またはWebStartを介してアクセスされている場合、セキュリティ例外が発生する場合があります。そのため、これらの特定の条件下で実行する場合、javafxランタイムバージョンを決定する良い解決策はおそらくないでしょう。

17
jewelsea