IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

JTable dans un JScrollPane probleme d'actualisation


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut JTable dans un JScrollPane probleme d'actualisation
    Bonjour,
    je suis un débutant en programmation et après une recherche sur le forum, je pense avoir trouvé plusieurs choses concernant mon problème mais je n'arrive à les mettre en oeuvre dans mon code.

    Voici, mon problème :
    j'ai une jtable avec un defaulttablemodel dans un jScrollPane mais je ne parviens pas à faire en sorte que la barre de scroll verticale fasse aparaître la dernière ligne ajoutée.
    J'arrive à faire bouger la scrollbar après l'insertion d'une ligne dans mon model mais celle-ci m'affiche toujours l'avant dernière ligne alors que je récupère le getMaximun de la scrollbar après l'insertion.

    Voici, un exemple de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    public class Wndw1 extends JFrame {
       //déclaration des variables
       //....
       JScrollPane jScrollPane1 = new JScrollPane();
       //creation d'un tableau contenant les intitules des colonnes de la jtable
       String tetecol[] = {"N°", "Coups", "P", "MP"};
       //creation d'un model pour la jtable
       DefaultTableModel model_1 = new DefaultTableModel(tetecol, 0);
       JTable jTable1 = new JTable(model_1);
       JScrollBar jsb = new JScrollBar();
     
       //méthode d'initialisation
       private void jbInit() throws Exception {
          //.......
          jsb = jScrollPane1.getVerticalScrollBar();
       }
     
       //Evenement lorsques j'appuie sur un bouton
       void jbJouer_actionPerformed(ActionEvent e) {
          //.........
          //mise en tableau de la chaine ayant comme separateur (,)
          String ligtab[] = affich.split(",");
          //affichage du tableau dans une ligne de jtable
          model_1.addRow(ligtab);
          jsb.setValue(jsb.getMaximum());
       }
    }
    En l'attente d'une réponse, Merci.

  2. #2
    Membre éclairé Avatar de TrYde
    Homme Profil pro
    Responsable de l'industrialisation logiciel
    Inscrit en
    Juillet 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Responsable de l'industrialisation logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 55
    Par défaut
    Bonjour,

    Je n'ai pas bien saisi si ton problème venait du fait que la dernière ligne ajoutée n'était pas visible ou si tu n'arrives pas à "scroller" sur elle à chaque ajout.

    Pour la 2e solution, puisque tu utilise une JTable, as-tu essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Récupère la hauteur de la nouvelle ligne
    int rowsHeight = table.getRowHeight() * (table.getRowCount() - 1);
     
    // Demande le scroll pour afficher la dernière ligne
    table.scrollRectToVisible(new Rectangle(0, rowsHeight, table.getWidth, table.getRowHeight()));
    Si tu utilises une JXTable, tu peux utiliser la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.scrollRowToVisible(table.getRowCount() - 1);

Discussions similaires

  1. Accéder à une JTable dans un JScrollPane
    Par olivier57b dans le forum Composants
    Réponses: 4
    Dernier message: 25/10/2011, 16h07
  2. mettre [JTable] dans un JScrollPane
    Par yasmine* dans le forum Composants
    Réponses: 1
    Dernier message: 13/06/2007, 01h28
  3. Défilement automatique JTable dans JscrollPane
    Par jdewalqu dans le forum Composants
    Réponses: 3
    Dernier message: 24/08/2006, 17h28
  4. Probleme de JTable dans un JScrollPane
    Par ythim dans le forum Composants
    Réponses: 7
    Dernier message: 20/04/2006, 16h43
  5. [Sécurité] Probleme d'actualisation dans un caddie
    Par budiste dans le forum Langage
    Réponses: 10
    Dernier message: 13/12/2005, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo