web-dev-qa-db-fra.com

Comment obtenir le numéro de version de JavaFX?

Comment puis-je savoir à l'exécution quelle version de JavaFX j'utilise?

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

Une des façons simples consiste à lire simplement le javafx.properties fichier situé dans votre $Java_HOME/jre/lib répertoire.

J'ai Java 1.7 u9 installé pour le moment. JavaFX fourni avec lui est v2.0.3 donc le fichier susmentionné contient la ligne suivante:

javafx.runtime.version=2.0.3
43
DejanLekic

Vous pouvez obtenir le numéro javafx.runtime.version À partir d'une propriété système.

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);
  }
}

Notez que la méthode d'accès à la propriété système peut provoquer une exception de sécurité si une application non signée est intégrée dans un navigateur ou accessible via WebStart, donc l'appel de com.Sun De Sergey peut être meilleur même si tous les appels com.Sun Sont déconseillés et ne fait pas partie de l'API publique JavaFX officielle.

Mise à jour

Les commentaires de @assylias sur la réponse de Sergey semblent indiquer que le com.Sun de Sergey peut provoquer une exception de sécurité si une application non signée est intégrée dans un navigateur ou accessible via WebStart. Il n'y a donc peut-être pas de bonne solution pour déterminer la version d'exécution de javafx lors de l'exécution dans ces conditions spécifiques.

17
jewelsea