Redimensionner automatiquement les largeurs des colonnes de JTable dynamiquement
J'ai une JTable avec 3 colonnes:
- No. #
- Name
- PhoneNumber
Je veux faire de la largeur de chaque colonne comme suit:
et je veux la JTable en mesure de mettre à jour la largeur des colonnes dynamiquement si nécessaire (par exemple, l'insertion d'un grand nombre dans la colonne #
), et en gardant le même style de la JTable
J'ai résolu le premier problème, à l'aide de ce code:
myTable.getColumnModel().getColumn(columnNumber).setPreferredWidth(columnWidth);
mais je n'ai pas de succès à faire myTable pour mettre à jour les largeurs dynamiquement UNIQUEMENT si la largeur de la colonne ne correspond pas à son contenu. Pouvez-vous m'aider à résoudre ce problème?
source d'informationauteur Eng.Fouad
Vous devez vous connecter pour publier un commentaire.
Ici, j'ai trouvé ma réponse: http://tips4java.wordpress.com/2008/11/10/table-column-adjuster/
L'idée est de vérifier quelques lignes le contenu de la longueur à ajuster la largeur de colonne.
Dans l'article, l'auteur a fourni un code complet à télécharger un fichier java.
Utiliser le addRow(...) la méthode de la DefaultTableModel pour ajouter des données à la table de façon dynamique.
Mise à jour:
Pour ajuster la largeur d'une colonne visible je pense que vous devez utiliser:
J'ai effectivement rencontré ce problème aussi. J'ai trouvé un lien utile qui a résolu mon problème.
Bien obtenir la colonne spécifique et définir sa setMinWidth et setMaxWidth à la même(fixe.)
Ref: https://forums.oracle.com/thread/1353172