2017-10-04 5 views
0

Je suis nouveau aux balançoires, mes exigences sont 1. Je dois créer un rowheader pour le jtable. 2. Ajouter des boutons haut et bas (écouteurs pour déplacer/changer la position de ligne). 3. Lorsque je change la position de la rangée, je ne devrais pas changer le numéro de tête de ligne. 4. Nécessité de récupérer les données de ligne en fonction de l'index de l'en-tête. 5. Déjà une classe définie par l'utilisateur étend jtable et le modèle est là avec des données.J'ai besoin d'ajouter les exigences de 4 points ci-dessus à cette table.J'ai besoin d'utiliser jlist ou encore jtable pour ajouter rowheader (si encore jtable jtable de base ne fonctionne pas correctement.) J'ai essayé avec de nombreuses références google, mais le problème est que je ne pouvais pas intégrer toutes les fonctionnalités en même temps et même je ne pouvais pas trouver la solution pour les points 3 et 4.S'il vous plaît examiner l'exigence.Sorry pour erreurs de typo. Merci d'avance.Ajouter rowheader pour jtable et déplacer la ligne de haut en bas et récupérer des données basées sur l'index rowheader de jtable en java

Répondre

0

J'ai besoin de créer un Rowheader pour le jtable.

Consultez le Fixed Column Table.

Vous créez un TableModel normal. Vous pouvez ensuite spécifier la première ligne du modèle à utiliser comme en-tête de ligne. Le code va ensuite créer deux tables qui partagent le même TableModel. Une table sera utilisée comme en-tête de ligne, l'autre sera affichée dans la fenêtre d'affichage du volet de défilement.

Si vous voulez trier les tables que vous aurez également besoin de partager la RowSorter avec le code quelque chose comme:

table.setAutoCreateRowSorter(true); 
fct.setRowSorter(table.getRowSorter()); 
table.setUpdateSelectionOnSort(true); 
fct.setUpdateSelectionOnSort(false); 
+0

Salut, Merci pour la réponse, j'ai ajouté le RowHeader avec l'aide de jlist.I am ne pas trier les données, juste en déplaçant la rangée de haut en bas. Désolé d'avoir donné l'exemple que j'ai fait. – user5466642

+0

@ user5466642, ', j'ai ajouté le rowheader avec l'aide de jlist' - bien, je viens de vous donner une solution qui utilise 2 JTables qui partagent le même modèle. Le fait est que si vous déplacez la rangée vers le haut/bas dans le modèle, les deux JTables se repeindront puisqu'ils partagent le même modèle. – camickr

+0

Salut, Merci pour la réponse, comme vous pourriez aider s'il vous plaît avec l'exemple de code ou de références (j'essaie ce long temps suivi de nombreuses références de rowheader de jtable., Mais tous les essais sont devenus vains.) Comme j'ai essayé le même modèle mais n'a pas pu sélectionner la ligne complète seulement quelques colonnes dans la rangée sont sélectionnées. J'ai pris la référence que vous avez donnée comme table fixe de colonne quand j'ai ajouté la 0ème colonne est ajoutée à la table fixe et ne pas être supprimée de la table principale. – user5466642