Je cherche à ajouter une scroll bar barre verticale et horizontale à ma Jtable. Pour cela j'utilise un JScrollPane.
A noter que ma JTable doit se redimensionner en fonction du contenu.
Le problème c'est que l'option du redimensionnement fait disparaitre la scroll bar horizontale.
Une petite idée pour m'aider ?
Voici mon code :
private JScrollPane getJScrollPane() {
if (scrollPane == null) {
scrollPane = new JScrollPane();
scrollPane.setViewportView(getJTableTests());
}
return scrollPane;
}
private JTable getJTableTests() {
if (jTableTests == null) {
tableModel = new Configuration(titreColonnes);
jTableTests = new JTable(tableModel);
jTableTests.setShowGrid(true);
jTableTests.getColumn("Execute").setMaxWidth(60);
jTableTests.getColumn("Execute").setMinWidth(60);
jTableTests.getColumn("Test").setMinWidth(280);
jTableTests.getColumn("Test path").setMinWidth(500);
jTableTests.addMouseListener(this);
jTableTests.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
heu a priori y a eu un problème d'enregistrement de la réponse acceptée alors je refais .....
Il faut obligatoirement utilisé le mode AUTO_RESIZE_OFF pour avoir la scrollbar horizontale et penser à renseigner la taille min et max de votre colonne.
Ensuite quand je modifie les données de mon tableau je fais appel à la méthode suivante
private void adjusteColumnTestPath(){
int max = Integer.MIN_VALUE;
for(Folder folder : tableModel.getListFolders()){
if(max < folder.getPath().length()){
max = folder.getPath().length();
}
}