JScrollPane ScrollBar Horizontal [Résolu]

Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
- - Dernière réponse : lafolle24320
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
- 16 juin 2009 à 16:48
Bonjour,

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);
                   
        }
        return jTableTests;
    }

Merci bcp

Lafolle
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
2
3
Merci

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 126 internautes nous ont dit merci ce mois-ci

Commenter la réponse de lafolle24320
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
2
3
Merci
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();
}
}

jTableTests.getColumn("Test path").setPreferredWidth(max * 8);
}

et voilà çà fonctionne :-)

Bonne continuation

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 126 internautes nous ont dit merci ce mois-ci

Commenter la réponse de lafolle24320