Je souhaite utiliser un arbre dans mon application Scala Swing, mais le composant n'est pas disponible dans l'API. Un emballage de JTree
existe-t-il?Arbre dans le swing scala
Si non, avez-vous des conseils pour le fabriquer?
Merci
Je souhaite utiliser un arbre dans mon application Scala Swing, mais le composant n'est pas disponible dans l'API. Un emballage de JTree
existe-t-il?Arbre dans le swing scala
Si non, avez-vous des conseils pour le fabriquer?
Merci
Même si vous pouvez utiliser directement Java DTree dans votre programme scala, comme illustré par this thread, il y a un débat sur l'inclusion d'une enveloppe Scala d'un JTree.
Les usages communs suivants sont fastidieux, bavard, non SÛR type et/ou exiger l'utilisation de nulle dangereuse:
- Création d'un modèle d'arbre personnalisé, soutenu par vos propres objets utilisateur - la Scala façon Swing serait d'avoir une norme typesafe
Map
derrière elle- événements - il y a des tas d'événements créés par les arbres -
TreeWillExpandListeners
,TreeSelection
, etc - Utilisation du réacteur/Publisher modèlePartialFunction
rendrait ce code beaucoup plus lisible et concis.- Composants modifiables - Ceci est fait avec des valeurs implicites ailleurs dans scala.swing, et devrait être ici aussi.
- Renderers personnalisés - Je ne me souviens pas de la manière dont Scala gère ces problèmes, mais c'est toujours très compliqué dans Java Swing.
La ligne de fond est,
JTrees
sont une douleur massive à utiliser en Java, sans raison particulièrement bonne. Un wrapper Scala serait une aubaine pour les utilisateurs de Scala Swing.
A design is in progress, et un JTree wrapper proposal is available in this GitHub repo, par kenbot (Ken Scambler).