probleme(s) tutoriel code.makery.ch etape 02
Bonjour a vous,
J'ai trouvé un tutoriel (que j'imagine vs connaissez tous) à l'adresse:
https://code.makery.ch/fr/library/ja...utorial/part2/
C'est un peu compliqué pr mon niveau ms bon... j'aimerai qd meme le faire fonctionner avt de redescendre d'1 cran ds mes aspirat°:
Je vous mets le retour console d'erreur (ou des..?), le code et ensuite... je serai tt disposé a vous remercier pr votre aide.
dc là, je pense avoir (peut-etre) 1 erreur L 131 (la L85 est l'appel a la methode ou se trouve la L131)
le code (Ma L131 est en gras):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
public void showPersonOverview() {
try {
// Load person overview.
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainApp.class.getResource("view/PersonOverview.fxml"));
AnchorPane personOverview = loader.load();
// Set person overview into the center of root layout.
rootLayout.setCenter(personOverview);
// Give the controller access to the main app.
PersonOverviewController controller = loader.getController();
controller.setMainApp(this);
} catch (IOException e) {
e.printStackTrace();
}
} |
on peut encore ecrire cette L: AnchorPane personOverview = (AnchorPane) loader.load();
Eclipse ne marque pas d'erreur a ce niveau.
Dc pr ceci, apres recherche
certains disent que le chemin du fichier fxml au-dessus n'est pas bon. Qu'il faut y mettre 1 slah dvt et/ou 1 "../"
J'ai essayé les 2, cele n'a aucun effet.
1 autre explication sur la page:
https://living-sun.com/fr/java/44697...on-javafx.html
Je cite:
Citation:
Le message d'erreur indique que le type d'un champ de votre classe de contrôleur ne correspond pas au type déclaré dans le fichier fxml. Plus précisément, votre contrôleur déclare un champ de type MainApp appelé mainApp, mais votre fichier fxml tente d’injecter un AnchorPane dans ce domaine.
dc:
Ds le fichier du controleur nommé: PersonOverviewController.java
Code:
1 2
|
private MainApp mainApp; |
Et ds le fichier fxml nommé: PersonOverview.fxml, il est vrai que je n'ai aucune balise MainApp, juste des balises <AnchorPane>
Que faut il faire?
echanger mon <AnchorPane> par 1 <MainApp> (il me semble que j'ai déjà essayé ms je vais refaire)
J'ai bien evidemment vérifié que j'ai bien un fx:controller déclaré et valide. Ce qui est le cas.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
La seconde erreur est tt en bas du retour console (en gras également)
dc direct° le fichier: PersonOverviewController.java L52:
Code:
1 2 3 4 5 6 7 8
|
private void initialize() {
// Initialize the person table with the two columns.
//firstNameColumn.setCellValueFactory(cellData -> cellData.getValue().firstNameProperty());
firstNameColumn.setCellValueFactory(cellData -> cellData.getValue().getFirstName());
lastNameColumn.setCellValueFactory(cellData -> cellData.getValue().lastNameProperty());
} |
et dc j'ai ces 2L (ms je me concentre sur la 1°) qui me renvoient une valeur null
Ds la class Person, il y a 2 constructeurs
- celui par défaut qui initialise avec des attributs null
Code:
1 2 3 4
|
public Person() {
this(null, null);
} |
et 1 constructeur qui initialise les attributs:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public Person(String firstName, String lastName) {
this.firstName = new SimpleStringProperty(firstName);
this.lastName = new SimpleStringProperty(lastName);
// Some initial dummy data, just for convenient testing.
this.street = new SimpleStringProperty("some street");
this.postalCode = new SimpleIntegerProperty(1234);
this.city = new SimpleStringProperty("some city");
this.birthday = new SimpleObjectProperty<LocalDate>(LocalDate.of(1999, 2, 21));
} |
et ds le fichier MainApp.java, on initialise la ObservableList personData avec des instances de la classe Person avec les 2 paramètres, dc sans valeur null.
Dc prquoi j'ai un retour avec valeur null?
J'ai regardé 2 dépots github qui présente leur version et il semblerait que j'ai qque chose de très très resemblant (ms le "très très ressemblant" entraîne l'erreur(s))
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Enfin 1 dernière question eclipse:
comment faire pr avoir un retour console complet?
Voilà, qqu'un pr me dépatouiller du cambouis SVP.
Merci bien a vous
grub