L'interface maître-détail

Une liste et le détail de l'élément choisi : la sélection comme lien, l'état sans sélection, l'édition avec enregistrer et annuler, la mise à jour de la liste, et la version à deux écrans sur téléphone.

  • 22 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Interface maître-détail : de quoi s'agit-il ?

    Voir la réponse

    Écran qui montre une liste d'éléments d'un côté et, de l'autre, les informations de celui que l'utilisateur a choisi.

    Une messagerie ou un carnet de contacts en sont des exemples : la liste est le « maître », le panneau de lecture ou d'édition le « détail ».

  • Quand ce code lève-t-il une NullPointerException ?

    ```java
    liste.getSelectionModel().selectedItemProperty().addListener((obs, ancien, nouveau) -> {
    champNom.setText(nouveau.getNom());
    });
    `

    • Quand la sélection est vidée : nouveau vaut alors null
    • Au premier clic sur une ligne, quand nouveau n'est pas encore initialisé
    • Quand l'utilisateur clique deux fois de suite sur la même ligne
    • Quand la liste contient plus d'un élément
    Voir la réponse

    Quand la sélection est vidée : nouveau vaut alors null

    Quand la sélection est effacée, la valeur nouveau de l'écouteur est null. Il faut traiter ce cas : tester nouveau == null et passer le détail à l'état vide.

  • Dans un maître-détail, la … de la liste est le lien : le détail est relié à l'élément sélectionné, pas à la liste entière.

    Voir la réponse

    Dans un maître-détail, la sélection de la liste est le lien : le détail est relié à l'élément sélectionné, pas à la liste entière.

    Liste et détail ne se connaissent pas ; ils partagent seulement la sélection. On peut remplacer l'un sans toucher l'autre.

  • Élément sélectionné : de quoi s'agit-il ?

    Voir la réponse

    Élément de la liste que l'utilisateur a désigné, ou absence d'élément lorsqu'il n'a rien désigné.

    C'est l'unique lien entre la liste et le détail : le détail se relie à la sélection, pas à la liste. Elle peut être vide, il faut donc prévoir ce cas.

  • On supprime l'élément affiché, et le détail montre encore ses champs, qui renvoient une erreur à la modification. Quelles sont la cause et la solution ?

    • La liste ne s'est pas rafraîchie ; il faut la recharger entièrement après chaque suppression
    • Le bouton Supprimer devrait désactiver l'élément au lieu de le retirer de la liste affichée
    • Les champs du détail devraient être en lecture seule en permanence
    • Le détail n'est pas relié à la sélection ; il lui faut un état vide quand elle disparaît
    Voir la réponse

    Le détail n'est pas relié à la sélection ; il lui faut un état vide quand elle disparaît

    Quand la sélection devient vide, le détail doit le savoir : il vide ou désactive ses champs et invite à choisir un élément. Recharger la liste ne changerait rien au détail resté sur l'ancien élément.