Bonjour,
J'ai un petit soucis, je cherche a afficher un Treeview dans une nouvelle fenêtre depuis mon application.
voici mon code:
Mon Treeview est correctement créé mais il n'est pas affiché dans ma nouvelle fenêtre lors de l'appel de la fonction showTreeView().
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 public class TreeWindowsController { @FXML TreeView<String> treeView; void showTreeView() throws SAXException, ParserConfigurationException, IOException{ treeView = new TreeView<>(XML_Manager.readData(new TreeItemView())); try{ FXMLLoader loader = new FXMLLoader(); loader.setLocation(MainApp.class.getResource("../view/Tree_Windows.fxml")); AnchorPane Tree_Windows = (AnchorPane) loader.load(); // Tree_Windows.getChildren().add(treeView); Stage dialogStage = new Stage(); dialogStage.setTitle("Tree"); dialogStage.initModality(Modality.WINDOW_MODAL); Scene scene = new Scene(Tree_Windows); dialogStage.setScene(scene); dialogStage.show(); } catch (IOException e) { e.printStackTrace(); } } }
Si je rajoute le code Tree_Windows.getChildren().add(treeView); j'ai bien un treeview complet qui apparait.
Apparemment le link avec javaFX ne s'est pas bien fait. pourtant j'ai bien ajouté le lien dans la fenêtre.fxml, voire ci-dessous:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import java.lang.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.layout.BorderPane?> <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="view.TreeWindowsController"> <children> <TreeView fx:id="treeView" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> </children> </AnchorPane>
D'où peut venir le problème?
Merci à vous
Partager