L’ensemble des exercices ci-dessous ne seront pas tous corrigés en classes
Project>properties
Java 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 Close
import 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 */
setTitle("ma Fenêtre");
primaryStage.
/* Création d'un bouton */
Button b = new Button("mon bouton");
/* création d'une fenêtre */
new StackPane();
StackPane root =
/* ajouter le bouton à la scene */
getChildren().add(b);
root.
/* création d'une scene et de son association avec */
/* la fenêtre + taille */
new Scene(root, 500, 300);
Scene scene =
/* Ajouter la scene */
setScene(scene);
primaryStage.
/* rendre la fenêtre visible */
show();
primaryStage.
}public static void main (String[] args) {
launch (args);
} }
Build Path > Configure Build Path
Apply and Close
Si vous avez cette erreur :
Error: JavaFX runtime components are missing, and are required to run this application
Il faut :
Run -> Run Configurations... -> Java Application
Ajouter :
--module-path /votreChemin/openjfx-11.0.2_linux-x64_bin-sdk/javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.fxml
Attention
~
. Il faut indiquer le chemin absolue /home/cytech
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>();
setOrientation(Orientation.VERTICAL);
maListe.setPrefSize(200, 100);
maListe.getItems().add("COUCOU"); maListe.
TextField textField = new TextField();
String contenu = textField.getText();
Button b = new Button("valider");
new Alert(AlertType.INFORMATION);
Alert alert = setTitle("Titre de mon Alerte");
alert.setHeaderText("titre1:");
alert.setContentText("description-contenu");
alert.showAndWait(); alert.
setOnAction(new EventHandler<ActionEvent>() {
b.public void handle(ActionEvent event) {
System.out.println("J'ai cliqué sur le bouton");
} });
new FlowPane();
FlowPane root = setPadding(new Insets(10));
root.setVgap(5);
root.setHgap(5); root.
getChildren().add(textField);
root.getChildren().add(b); root.
/* création d'une scene et de son association avec */
/* la fenêtre + taille */
new Scene(root, 500, 300);
Scene scene =
/* Ajouter la scene */
setScene(scene);
primaryStage.
/* rendre la fenêtre visible */
show(); primaryStage.
Pour les utilisateurs de ubuntu
.deb
software install
scene 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.
new FXMLLoader(MainTEST.class.getResource("template.fxml"));
FXMLLoader loader = load();
VBox rootLayout = (VBox) loader.
// Show the scene containing the root layout.
new Scene(rootLayout);
Scene scene = setScene(scene);
primaryStage.show();
primaryStage.catch (IOException e) {
} printStackTrace();
e.
}
}public static void main(String[] args) {
// TODO Auto-generated method stub
launch(args);
} }
scene builder
dans le même dossier (package) que votre Main
package explorer
sur votre eclipse (afin d’actualiser le template.fxml
)