Java FX est une bibliothèque Java permettant la création d’interface graphique. Cette bibliothèque ne fait pas partie de base dans Java, il est donc nécessaire d’installer Java FX.
Project>propertiesJava Build Path
Librairies est bien sélectionné
Add Library
User Library
User Libraries
New sur la droite
Add External Jars...
.jar
Apply and Close
Finish, puis de nouveau via
Apply and Closeimport javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class MyFirstAppJavaFx extends Application{
@Override
public void start(Stage primaryStage) throws Exception {
/* donner un nom à la fenêtre */
primaryStage.setTitle("ma Fenêtre");
/* Création d'un bouton */
Button b = new Button("mon bouton");
/* création d'une fenêtre */
StackPane root = new StackPane();
/* ajouter le bouton à la scene */
root.getChildren().add(b);
/* création d'une scene et de son association avec */
/* la fenêtre + taille */
Scene scene = new Scene(root, 500, 300);
/* Ajouter la scene */
primaryStage.setScene(scene);
/* rendre la fenêtre visible */
primaryStage.show();
}
public static void main (String[] args) {
launch (args);
}
}Build Path > Configure Build Path
Apply and CloseSi vous avez cette erreur :
Error: JavaFX runtime components are missing, and are required to run this applicationIl faut :
Run -> Run Configurations... -> Java Application
Ajouter le chemin de java fx que vous avez téléchargé précédement :
Attention
~. Il faut
indiquer le chemin absolue /home/cytech--module-path /votreChemin/openjfx-23.0.2_linux-x64_bin-sdk/javafx-sdk-23.0.2/lib/lib --add-modules javafx.controls,javafx.fxml
L’utilisateur pourra ajouter un groupe/musicien à la liste. Une fois
le bouton ajouter validé par l’utilisateur, une alerte
apparaît pour indiquer que le groupe/musicien a bien été ajouté.
ListView<String> maListe = new ListView<String>();
maListe.setOrientation(Orientation.VERTICAL);
maListe.setPrefSize(200, 100);
maListe.getItems().add("COUCOU");TextField textField = new TextField();
String contenu = textField.getText();Button b = new Button("valider");Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Titre de mon Alerte");
alert.setHeaderText("titre1:");
alert.setContentText("description-contenu");
alert.showAndWait();b.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
System.out.println("J'ai cliqué sur le bouton");
}
});FlowPane root = new FlowPane();
root.setPadding(new Insets(10));
root.setVgap(5);
root.setHgap(5);root.getChildren().add(textField);
root.getChildren().add(b);/* création d'une scene et de son association avec */
/* la fenêtre + taille */
Scene scene = new Scene(root, 500, 300);
/* Ajouter la scene */
primaryStage.setScene(scene);
/* rendre la fenêtre visible */
primaryStage.show();Pour les utilisateurs de ubuntu
.debsoftware installscene builder précédement installéMain, comme suit :import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class MainTEST extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
try {
// Load root layout from fxml file.
FXMLLoader loader = new FXMLLoader(MainTEST.class.getResource("template.fxml"));
VBox rootLayout = (VBox) loader.load();
// Show the scene containing the root layout.
Scene scene = new Scene(rootLayout);
primaryStage.setScene(scene);
primaryStage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
launch(args);
}
}scene builder
dans le même dossier (package) que votre Mainpackage explorer sur votre eclipse (afin d’actualiser le
template.fxml)