Comment peut-on déplacer une ligne dans jTable
afin que row1 va row2 « position et row2 va à row1 » position?Déplacement d'une ligne dans jtable
8
A
Répondre
9
utiliser la méthode moveRow(...)
du DefaultTableModel
. Ou, si vous n'utilisez pas DefaultTableModel, implémentez une méthode simliar dans votre modèle personnalisé.
0
TableModel model = jTable.getModel();
for(int col=0; col<model.getColumnCount(); col++) {
Object o1 = model.getValueAt(row1, col);
Object o2 = model.getValueAt(row2, col);
model.setValueAt(o1, row2, col);
model.setValueAt(o2, row1, col);
}
2
Voici mon code que je viens de développer en utilisant la réponse à cette question. Avec ces fonctions, vous pouvez sélectionner plusieurs lignes à la fois et les déplacer vers le bas ou vers le haut dans un JTable
. J'ai attaché ces fonctions à JButton
, mais je les nettoie pour les rendre plus lisibles.
La dernière ligne de code à la fois de la méthode (setRowSelectionInterval()
) est utilisé pour suivre la sélection de la rangée étant déplacée, depuis moveRow()
ne se déplace pas le choix mais le contenu de la rangée.
public void moveUpwards()
{
moveRowBy(-1);
}
public void moveDownwards()
{
moveRowBy(1);
}
private void moveRowBy(int by)
{
DefaultTableModel model = (DefaultTableModel) table.getModel();
int[] rows = table.getSelectedRows();
int destination = rows[0] + by;
int rowCount = model.getRowCount();
if (destination < 0 || destination >= rowCount)
{
return;
}
model.moveRow(rows[0], rows[rows.length - 1], destination);
table.setRowSelectionInterval(rows[0] + by, rows[rows.length - 1] + by);
}
Questions connexes
- 1. Comment glisser et déposer une ligne dans un JTable?
- 2. Stratégie de détection d'un objet dans la ligne JTable?
- 3. Comment puis-je cacher (rendre invisible) une ligne dans JTable?
- 4. cellule d'édition dans JTable
- 5. chaînes d'affichage dans JTable
- 6. JTable défilement vers un index de ligne spécifié
- 7. Lignes de peinture dans un JTable
- 8. Fusion de cellules dans JTable
- 9. BeansBinding un JTable dans NetBeans
- 10. refresh setCellEditor pour JTable
- 11. JTable problème
- 12. JTable colonne spanning
- 13. Comment obtenir de manière fiable l'index de ligne dans JTable à partir de MouseEvent?
- 14. Déplacement UIScrollView
- 15. Données SQL et JTable
- 16. JTable utilisant Swing
- 17. Afficher directement l'enregistrement XML dans l'enregistrement jtable
- 18. garder la sélection JTable dans viewport
- 19. Problème avec les enregistrements d'affichage dans Jtable
- 20. Tri de plusieurs colonnes dans JTable
- 21. Champs de manipulation dans le jTable Java
- 22. Déplacement des données de l'assemblage en ligne dans la matrice en C
- 23. Tri JTable par programme
- 24. Problème lors de la copie de contenu JTable dans Excel
- 25. Comment copier le contenu avec des sauts de ligne d'un JTable vers Excel avec sauts de ligne inclus
- 26. Valeurs répétées lors de l'insertion de lignes dans JTable
- 27. SSAS - Déplacement annuel total
- 28. Déplacement d'éléments dans deux listes de sélection
- 29. Déplacement de 50 sprites dans Cocos2d
- 30. Un seul clic dans un glisser-déposer JTable
merci. pouvez-vous fournir un extrait de code, plz? – Attilah
Je n'ai pas remarqué qu'il y avait un lien. ça a été utile. Merci. – Attilah
ce lien est périmé –