Bonjour,
Dans le cadre d'un projet en javaFX, je dois créer un écran ou board pour un jeux(Blokus). Je dois pour cela imbriquer des layouts différents. Pas de soucis tant que tout cela se faisait dans une seule classe projet extends Application.
Maintenant je dois séparer tous mes layouts dans des classes séparées. Et là je ne comprends pas comment relier mes classes. Je ne trouve rien sur le net qui peut m'aider.
Donc mon root est VBox.
Dans le root j'ai un MenuBar(appelé MenuBlokus) que je dois imbriquer. Pour cela j'ai créé une nouvelle classe javaFX:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package View; import javafx.scene.control.Menu; import javafx.scene.control.MenuBar; import javafx.scene.control.MenuItem; /** * * @author Administrator */ public class MenuBlokus extends Blokus{ final Menu menu1 = new Menu("File"); final MenuItem subMenu1 = new MenuItem("Save"); final MenuItem subMenu2 = new MenuItem("Print"); final Menu menu2 = new Menu("Tools"); final MenuItem subMenu3 = new MenuItem("Clear"); final MenuItem subMenu4=new MenuItem("OFF"); public void menu(){ MenuBar menu=new MenuBar(); menu.getMenus().addAll(menu1,menu2); menu1.getItems().addAll(subMenu1, subMenu2); }
Le code de ma mainClasse Blokus est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 package View; 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.scene.layout.VBox; import javafx.stage.Stage; /** * * @author Administrator */ public class Blokus extends Application { private MenuBlokus menu; @Override public void start(Stage primaryStage) { //Création de la Scène VBox root = new VBox(); root.getChildren().add(MenuBlokus); //cela ne fonctionne pas! Scene scene = new Scene(root,1000,750); primaryStage.setTitle("Blokus"); primaryStage.setScene(scene); primaryStage.show(); } /** * @param args the command line arguments */ public static void main(String[] args) { launch(args); } }
Est-ce que dois bien étendre ma classe MenuBlokus par Blokus( est-ce que celui-ci est bien le Stage?).
Merci à tous
Attila
Partager