J'ai un assistant avec plusieurs écrans où l'utilisateur doit remplir ses détails pour un traitement ultérieur. Au second écran, j'ai un groupe de radio avec trois boutons radio qui permettent des éléments supplémentaires. Pour continuer, l'utilisateur doit en choisir un. Lorsque l'utilisateur sélectionne le troisième bouton, la sélection unique JTree
est remplie avec les données activées et l'utilisateur doit en sélectionner une option. Ensuite, l'utilisateur doit appuyer sur "Suivant" pour passer à l'écran suivant. L'option qu'il a sélectionnée est enregistrée sous la forme TreePath
. Jusqu'ici tout va bien.Comment faire pour étendre JTree?
Mon problème est le suivant. Si l'utilisateur veut revenir de l'écran suivant à l'écran avec un JTree
, je veux lui fournir le JTree
étendu à l'option qui a été sélectionnée et mettre en surbrillance l'option. Cependant, tout ce que j'essaie de faire pour cela (toutes les combinaisons de expandPath
, scrollPathToVisible
, addSelectionPath
, makeVisible
) me fournit toujours un arbre replié. J'essaie d'étendre les feuilles et les nœuds. Mon code ressemble à ceci:
rbProcessJTree.setSelected(isProcessJTree());
if (null != getSelectedTablePath()){
trTables.addSelectionPath(getSelectedTablePath());
trTables.expandPath(getSelectedTablePath());
trTables.scrollPathToVisible(getSelectedTablePath());
}
Lorsque setSelected()
est appelé, auditeur de changement d'état est invoqué qui permet JTree
. Le modèle est chargé lors de l'initialisation du formulaire.
Chaque fois que je passe d'un écran à l'autre, je sauvegarde les données d'entrée de l'écran précédent et je les dispose. Ensuite, lorsque j'ai besoin d'ouvrir l'écran précédent, je sauvegarde les données de l'écran suivant, je les dispose, charge les données sur cet écran et les affiche. Donc, chaque fois que l'écran est généré à partir de zéro.
Pourriez-vous expliquer, quelle séquence d'opérations doit être effectuée pour obtenir JTree
développé dans un formulaire nouvellement créé, avec le modèle de données chargé et le chemin de sélection fourni?
Bonjour Dzmitry Zhaleznichenka, avez-vous pu obtenir une réponse à votre question? Je suis confronté au même problème, je l'ai posté ici
S'il vous plaît aviser. – ShamsR