Partage
  • Partager sur Facebook
  • Partager sur Twitter

Critiques cours JAVA section JavaFX

    2 décembre 2019 à 19:26:38

    EDIT :

    cette section s'avère en fait être une mauvaise reprise de l'excellent Tutoriel JavaFX de Marco Jakob disponible à cette adresse : https://code.makery.ch/fr/library/javafx-tutorial/


    Bonjour,

    aujourd'hui je me suis efforcé de suivre la section sur javaFX, étant en quête d'interfaces graphiques pas trop pénibles à réaliser (comme sur Visual Studio) et si possible modernes.

    Comme je maîtrise déjà Java (mais sur Eclipse seulement), je me suis lancé là-dedans.

    Le début est correct, mais on s'y perd très vite par la suite.

    Je ne sais pas qui est le créateur de cette partie et qui l'a validée...

    Le tutoriel est cousu de fautes.

    Le code source est imparfait (c'est très problématique pour une ressource qui va être suivie comme modèle par des centaines de personnes dont trois quarts de novices).

    De mon côté, le tableau ne se met pas à jour après édition d'une Personne déjà existante (problème de Listener ?).

    L'architecture MVC est très superficiellement évoquée alors qu'elle est fondamentale (certes il est déjà mentionné dans la partie Swing), d'ailleurs on créé un package controler qui visiblement en fin de compte n'aura servi à rien...

    Et pour finir, autant c'est accessoire de rentrer dans les détails de telle ou telle méthode ou classe javafx, autant il me semble nécessaire d'apprendre aux gens à comment exploiter au mieux SceneBuilder pour pouvoir gérer un composant par rapport à un autre sans avoir à se taper des lignes de code (affecter des dimensions relatives et dynamiques, j'espérais gagner en confort avec javafx-SceneBuilder, mais ici rien n'est évoqué même si j'imagine que ça se fait très bien avec le CSS)


    Finalement la version originale m'a grandement réconcilié avec JavaFX.

    De mon côté, j'en suis arrivé à passer les contrôleurs en attributs de la classe Main, et ce afin que plusieurs contrôleurs (et donc plusieurs vues) puissent se partager des méthodes communes (vu que les méthodes annotées @FXML sont toutes privées).

    En l'occurrence un item de menu et un bouton font la même chose : 

    Classe Main :

    private PersonOverviewController overviewController;
    
    public PersonOverviewController getOverviewController() {
    		return this.overviewController;
    	}

    Classe PersonMenuController (item de menu "créer nouvelle personne"):

    @FXML
    private void handleNewPerson() {
       mainApp.getOverviewController().newPerson();
    }

     Classe PersonOverviewController (bouton "Nouvelle personne" du panneau principal) :

    @FXML
    private void handleNewPerson() {
        Person tempPerson = new Person();
        boolean okClicked = mainApp.showPersonEditDialog(tempPerson);
        if (okClicked) {
            mainApp.getPersonData().add(tempPerson);
        }
    }
        
    public void newPerson() {
       handleNewPerson();
    }

    Mais j'ai l'impression que ce n'est pas exactement ce qu'il faut faire...

    -
    Edité par googy 3 décembre 2019 à 17:17:21

    • Partager sur Facebook
    • Partager sur Twitter

    Critiques cours JAVA section JavaFX

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown