Comment puis-je faire glisser et déposer une ligne dans une JTable?
Comment avez-vous l'installation d'un JTable pour être en mesure de faire glisser une ligne vers un autre indice dans le tableau. Par exemple, si j'ai 5 lignes et j'ai envie de glisser la 4ème ligne à la 2ème position?
- N'a aucune des réponses ci-dessous vous aider?
Vous devez vous connecter pour publier un commentaire.
Découvrez la glisser-déposer section du Tutoriel Java. Il y a quelques exemples sur la façon de mettre en œuvre ce pour
JTable
.Suivant permet de JTable re-commande d'un simple glissé ligne:
Votre TableModel doivent mettre en œuvre les éléments suivants afin de permettre de ré-ordonnancement:
Ce TransferHandler classe gère le drag & drop, et appelle les réorganiser() sur votre TableModel lorsque le geste est terminé.
localObjectFlavor
à:private final DataFlavor localObjectFlavor = new DataFlavor(Integer.class, "Integer Row Index");
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.io.InputStream
erreur. En utilisant à la placelocalObjectFlavor = new ActivationDataFlavor(Integer.class, "application/x-java-Integer;class=java.lang.Integer", "Integer Row Index")
résolu l'erreur.peut-être qqch. comme ceci:
Juste pour les enregistrements et plusieurs lignes de ré-ordonnancement:
utiliser quelque part....
C'est la classe principale dans la réponse ci-dessus, j'ai modifié que pour répondre aux besoins de plusieurs lignes du Mdn.
J'ai tout utiliser la première ligne sélectionnée, puis de calculer les lignes au-dessus de la chute de la place. Retiré seleced éléments et de les conserver dans une liste d'objets (ligne d'objet tableau). puis insérer l'arrière pour le calcul de la ligne. et enfin, sélectionnez le supprimé/traîné lignes pour terminer le processus.
J'aime Soley modifications, mais son code s'appuie sur une bibliothèque externe, et je ne suis pas sûr de l'endroit où il l'a eu, donc j'ai ré-écrit, de sorte que vous n'avez pas besoin de la TableUtil classe...