Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JTable dans JScrollPane

2 réponses
Avatar
Stéphane D.
Bonjour,



J'ai un petit souci avec une JTable dans un JScrollPane.



Ma JTable possède beaucoup de colonne plus que de place en largeur à l'écran
et j'aimerais que la barre de défilement horizontale apparaisse pour pouvoir
faire défiler les colonne mais elle apparaît seulement si j'appel la méthode
.setAutoResizeMode(JTable.AUTO_RESIZE_OFF) qui ne me convient pas car les
colonnes sont alors taillées trop large.



Comment faire apparaître le barre de défilement horizontale du JscrollPane
pour un JTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS) ?





Merci pour votre aide, Stéphane D.

2 réponses

Avatar
S.B
"Stéphane D." a écrit dans le message de news:
43bd62ca$0$19708$
Bonjour,



J'ai un petit souci avec une JTable dans un JScrollPane.



Ma JTable possède beaucoup de colonne plus que de place en largeur à
l'écran et j'aimerais que la barre de défilement horizontale apparaisse
pour pouvoir faire défiler les colonne mais elle apparaît seulement si
j'appel la méthode .setAutoResizeMode(JTable.AUTO_RESIZE_OFF) qui ne me
convient pas car les colonnes sont alors taillées trop large.


Il est possible d'ajuster la largeur (min/max/preferred) des colonnes d'une
JTable :

javax.swing.table.TableColumnModel lModel = myJTable.getColumnModel();

lModel.getColumn(x).setMax/Min/PreferredWidth(y);


Comment faire apparaître le barre de défilement horizontale du JscrollPane
pour un JTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS) ?


Au vue de la documentation "During all resize operations, proportionately
resize all columns",
cela est impossible car la largeur des colonnes est calculée
proportionnellement à la largeur
effective de la JTable.

Avatar
Stéphane D.
"S.B" a écrit dans le message de news:
dplfjd$j0c$

"Stéphane D." a écrit dans le message de news:
43bd62ca$0$19708$
Bonjour,



J'ai un petit souci avec une JTable dans un JScrollPane.



Ma JTable possède beaucoup de colonne plus que de place en largeur à
l'écran et j'aimerais que la barre de défilement horizontale apparaisse
pour pouvoir faire défiler les colonne mais elle apparaît seulement si
j'appel la méthode .setAutoResizeMode(JTable.AUTO_RESIZE_OFF) qui ne me
convient pas car les colonnes sont alors taillées trop large.


Il est possible d'ajuster la largeur (min/max/preferred) des colonnes
d'une JTable :

javax.swing.table.TableColumnModel lModel = myJTable.getColumnModel();

lModel.getColumn(x).setMax/Min/PreferredWidth(y);




Salut,

Ok ça marche en appelant setMin/Max/PreferedWidth(y) et
setAutoResizeMode(JTable.AUTO_RESIZE_OFF).
J'avais seulement appelé setMinWidth.

Merci et @+.