Oracle Java 8
Si vous utilisez Oracle Java 8 ou plus récent, comme l'a souligné cayhorstmann dans sa réponse, les classes JavaFX sont maintenant sur le chemin de classe d'exécution par défaut pour une implémentation Oracle Java. Vous pouvez simplement exécuter javac
et java
sur votre programme et les classes JavaFX seront trouvées comme prévu, tout comme n'importe quelle autre classe dans le JRE.
javac Fxservidor.java
java Fxservidor
OpenJDK 8
Si vous utilisez OpenJDK 8, vous aurez (actuellement) doivent build the JavaFX sources du référentiel et OpenJFX et placez-le sur votre jfxrt.jar résultante classpath similaire à la description Java 7 défini dans cette réponse.
JavaFX 2.x/Java 7
Vous utilisez le Java Compiler pour compiler des programmes JavaFX:
"%JDK_HOME%\bin\javac" -classpath "%JAVAFX_SDK_HOME%\rt\lib\jfxrt.jar" fxservidor.java
Remplacer les espaces réservés JDK_HOME et JAVAFX_SDK_HOME avec les chemins de votre installation JDK et SDK JavaFX respectivement .
Un exemple de script batch Windows pour le développement et le déploiement de la ligne de commande JavaFX 2.x est fourni here.
Voici une commande que je courais sur ma machine pour compiler votre application (vous devez régler le classpath pour votre environnement):
javac -classpath "\Program Files\Oracle\JavaFX 2.1 Runtime\lib\jfxrt.jar" Fxservidor.java
Et est une commande ici, je dirigeais la classe compilée:
java -classpath "\Program Files\Oracle\JavaFX 2.1 Runtime\lib\jfxrt.jar;." Fxservidor
Notez les ;.
jetons utilisés pour ajouter le répertoire courant au classpath de la commande d'exécution java dans Windows (si vous utilisez une variante Unix, puis utilisez :.
au lieu de ;.
).
App échantillon
Voici une version modifiée de votre programme qui compilera:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Fxservidor extends Application {
public static void main(String[] args) {
launch(args);
}
@Override public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello);
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
déploiement Recommandation
Si vous déployez des applications aux utilisateurs, même avec Java 8, il est recommandé d'emballer les applications à l'aide d'outils d'emballage appropriés (par exemple JavaFX ant tasks, javafxpackager, javafx-maven-plugin ou javafx-gradle-plugin).
Si vous voulez simplement développer et tester rapidement des programmes de petite taille, ces outils de packaging supplémentaires ne sont pas nécessaires et vous pouvez simplement utiliser les étapes simples de cette réponse.
Erreur: Impossible de trouver le symbole Application – Jhuaraya
J'ai mis à jour la réponse pour inclure les instructions d'importation manquantes de votre exemple de code, commentez la classe Synthetizer non fournie afin que le code puisse compiler et ajouter la commande exacte utilisée pour compiler et exécuter le programme mis à jour. – jewelsea