JTable ensemble de la colonne de problème de taille
Je vais avoir ce problème de réglage de la largeur de la colonne de la JTable.
Le code ci-dessous fonctionne très bien:
TableColumn a =shipsAndOwnHitsTable.getColumnModel().getColumn(0);
a.setPreferredWidth(800);
Il modifie la largeur de la première colonne.
Toutefois, lorsqu'il est placé dans un tout ou d'une boucle for, rien ne se passe:
int index = 0;
while (index < columnNum){
TableColumn a =shipsAndOwnHitsTable.getColumnModel().getColumn(index);
a.setPreferredWidth(800);
index+=1;
}
Ce code ne fonctionne pas, rien ne se passe pour les tailles de colonne, quelqu'un peut m'expliquer pourquoi?
Si non quelqu'un peut me dire comment faire pour définir la ligne et la largeur de la colonne à être le même, je l'.e je veux toutes les cellules de mon tableau carré, indépendamment de la taille du tableau(lignes et colonnes).?
Grâce
- Êtes-vous sûr que columnNum>0?
- oui, il est de 10.
- Je suis désolé que j'ai à demander à l'évidence: avez-vous appeler
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
sur votre table? Et ne les environs de mise en page permettent un arbitraire de la taille de la table? (essayez de le mettre dans unJScrollPane
) - C'est ok, ouais, j'ai fait le setAutoResizeMode(JTable.AUTO_RESIZE_OFF);je vais essayer de la JScrollPane.
- Vous devrez poster un SSCCE. Si tout cela est accompli, il devrait fonctionner parfaitement.
Vous devez vous connecter pour publier un commentaire.
Le code suivant fonctionne très bien. Selon mes observations, notez que
setAutoResizeMode(JTable.AUTO_RESIZE_OFF)
a été appeléJScrollPane
pour permettre de taille arbitraireDe le comparer avec votre code et vous apercevrez peut-être votre problème assez rapidement.
FlowLayout
setAutoResizeMode
, c'est quelque chose de nouveau pour moi 🙂Essayer de mettre aussi Minimale et Maximale de la largeur à
800
. Et d'autres largeurs si vous en trouvez.Je crois que les largeurs de colonnes sont relatifs. Tous les 800 devrait être le même que tous les 100, mais essayez de les mettre à des valeurs différentes. Pour les rendre plus, rendre le tableau plus large.
Pourquoi ne pas utiliser:
Aussi pourquoi ne pas changer votre boucle:
Rappelez-vous que vous utilisez (recommandé) la
while-loop
si vous ne connaissez pas le nombre d'itérations avant...Si la jTable est dans jScrollPane vous devez également augmenter la taille(largeur) de la jScrollPane trop...
exemple de code,
J'ai utilisé une table existante de la taille et de l'augmentation de la taille de la fenêtre...
Espère que cela aide...