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] Problème avec défilement de la scrollbar avec molette souris


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [JTable] Problème avec défilement de la scrollbar avec molette souris
    Bonsoir,

    J'ai un petit problème :

    J'ai crée une JTable dont on peut sélectionner une ligne à la fois (cela met à jour une deuxième table), cette JTable est dans un JScrollPane.

    J'ai ajouté un mouseListener sur le JScrollPane afin de "faire défiler" les éléments de la JTable et repositionner le contenu de la table. Là, pas de problème. Par contre, lorsque j'utilise la molette de la souris pour faire défiler le contenu de la table puis que je sélectionne une ligne alors l'affichage part en sucette, des lignes de la JTable se retrouve à l'extérieur de la JTable et la scrollbar revient à la ligne précédemment sélectionnée.
    Un exemple pour être plus concret :

    - Je sélectionne la première ligne de la JTable
    - Je fais défiler la scrollbar avec la molette de la souris pour arriver à la dernière ligne de la JTable
    - Je sélectionne la dernière ligne
    - L'affichage du panel est parasité par des lignes de la JTable qui apparaisse au dessus de la JTable
    - La scrollbar revient à sa position précédente.

    En fait, c'est comme si le fait de sélectionner une autre ligne décalait vers le haut (dans cet exemple) certaines lignes de la JTable.

    Que dois-je faire pour que le viewport soit mis à jour avec le défilement de la molette (addMouseWheelListener mais sur quel composant et comment ?) ?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Je n'ai pas tout compris, à quoi sert le MouseListener sur le JScrollPane ?
    Normalement un JScrollPane ça fonctionne sans listner (même pour la molette).

  3. #3
    Invité
    Invité(e)
    Par défaut [JTable] Problème avec défilement de la scrollbar avec molette souris
    Le mouseListener sert à actualiser le viewport :

    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
     
    /** Dernière position de la ScrollBar */
    private Point lastScrollPanePos = new Point(0, 0);
     
    ....
     
    maScrollPane = new JScrollPane() {
                public void paint(Graphics pGraph) {
     
                    if (maScrollPane != null) {
               maScrollPane.getViewport().setViewPosition(lastScrollPanePos);
                    }
                    super.paint(pGraph);
                }
            };
     
            maScrollPane.getVerticalScrollBar().addMouseListener(new MouseAdapter() {
                public void mouseReleased(MouseEvent pEvent) {
     
                    lastScrollPanePos = maScrollPane.getViewport().getViewPosition();
                }
            });
     
    maScrollPane.setViewportView(maTable);

  4. #4
    Invité
    Invité(e)
    Par défaut [JTable] Problème avec défilement de la scrollbar avec molette souris
    J'ai supprimé le mouseListener de la JScrollbar et tout marche : l'actualisation avec la clic de la souris et celui avec la molette.
    Apparemment, c'était ce mouseListener qui parasitait l'affichage (?)

Discussions similaires

  1. Empecher défilement d'une scrollbar avec popup
    Par Underghast dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 10/10/2014, 14h46
  2. "scrollbar" avec défilement automatique dans listbox
    Par nanettemontp dans le forum Windows
    Réponses: 4
    Dernier message: 15/10/2007, 10h44
  3. [JTable] Problème avec le modèle
    Par etiennegaloup dans le forum Composants
    Réponses: 2
    Dernier message: 20/09/2005, 16h25
  4. [JTable] Problème avec la couleur de fond
    Par ellocin dans le forum Composants
    Réponses: 5
    Dernier message: 13/09/2005, 23h07
  5. Réponses: 5
    Dernier message: 17/06/2004, 23h38

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