JScrollPane ScrollBar Horizontal [Résolu]

lafolle24320 406 Messages postés samedi 26 mars 2005Date d'inscription 29 juin 2009 Dernière intervention - 16 juin 2009 à 15:04 - Dernière réponse : lafolle24320 406 Messages postés samedi 26 mars 2005Date d'inscription 29 juin 2009 Dernière intervention
- 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

Répondre au sujet
lafolle24320 406 Messages postés samedi 26 mars 2005Date d'inscription 29 juin 2009 Dernière intervention - 16 juin 2009 à 16:44
+3
Utile
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de lafolle24320
lafolle24320 406 Messages postés samedi 26 mars 2005Date d'inscription 29 juin 2009 Dernière intervention - 16 juin 2009 à 16:48
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de lafolle24320

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.