Comment synchroniser des scrollbar

Résolu
ChristOffAum Messages postés 10 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 10 septembre 2009 - 15 juil. 2009 à 14:19
ChristOffAum Messages postés 10 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 10 septembre 2009 - 5 août 2009 à 14:25
Bonjour à tous,

Voilà j'aimerais pouvoir synchroniser la descente ainsi que la montée de deux scrollbar.

voilà ce que j'ai fais

// Views Panel
// Instantiate treeview1 and treeView2 panel
treeView1 = new JScrollPane(tree1);
treeView2 = new JScrollPane(tree2);

AdjustmentListener a = new AdjustmentListener();

treeView1.getVerticalScrollBar().addAdjustmentListener(a);
treeView1.getVerticalScrollBar().setValue(treeView2.getVerticalScrollBar().getValue());

treeView2.getVerticalScrollBar().addAdjustmentListener(a);
treeView2.getVerticalScrollBar().setValue(treeView1.getVerticalScrollBar().getValue());


Mais ça ne marche pas

Merci d'avance pour vos réponses

10 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 août 2009 à 14:24
Salut,

Pour passer le sujet en résolu, il suffit que tu clique sur l'un des boutons "réponse acceptée" en dessous du pseudo de celui qui t'a donné la réponse.
______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 juil. 2009 à 14:37
Salut,

Ben forcément, tu ne fais rien avec ton listener a... C'est dans la méthode
 adjustmentValueChanged
de la classe AdjustementListener que tu dois faire le code nécessaire à la synchronisation, sinon c'est sûr qu'il ne se passera rien...
______________________________________
DarK Sidious
0
ChristOffAum Messages postés 10 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 10 septembre 2009
15 juil. 2009 à 14:41
Il me souligne AdjustmentListener a = new AdjustmentListener();

avec le message suivant : Cannot instantiate the type AdjustmentListener

mon listener doit être complété comme suit ??

a.adjustmentValueChanged(null);


merci d'avance
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 juil. 2009 à 14:53
Salut,

C'est qu'il s'agit d'une interface et non d'une classe ! Un listener est toujours une interface : tu dois l'implémenter, et du coup, ajouter le code qu'il faut dans les méthodes.
______________________________________
DarK Sidious
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ChristOffAum Messages postés 10 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 10 septembre 2009
15 juil. 2009 à 15:00
Désolé j'ai beaucoup de mal en programmation, peux tu m'orienter
Quand tu dis implémenter ça signifie instancier ?

Merci d'avance
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 juil. 2009 à 16:11
Salut,

Non pas instancier : faire une classe qui implémente l'interface AdjustementListener, comme tu le fais avec un ActionListener pour un bouton par exemple.
______________________________________
DarK Sidious
0
ChristOffAum Messages postés 10 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 10 septembre 2009
15 juil. 2009 à 16:15
Oki merci beaucoup de ton aide j'essaye ça de suite
0
FlopFlo Messages postés 20 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 14:14
Tu peux aussi faire une classe anonyme exemple :

AdjustmentListener a = new AdjustmentListener(){
     public void adjustmentValueChanged(AdjustmentEvent e){
          [..] ton code pour changer l'autre scrollbar
     }
}; 


Les classes anonymes sont vraiment utiles pour les listeners, bonne chance
0
ChristOffAum Messages postés 10 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 10 septembre 2009
5 août 2009 à 14:19
Merci de votre aide, ça fait bien longtemps que mon problème est réglé ;)

Ya t'il un moyen de le passer en résolu ?

voilà ce que ça donne :
private class ScrollBarListener implements AdjustmentListener {

public void adjustmentValueChanged(AdjustmentEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == treeView2.getVerticalScrollBar())
treeView1.getVerticalScrollBar().setValue(treeView2.getVerticalScrollBar().getValue());

else if (e.getSource() == treeView1.getVerticalScrollBar())
treeView2.getVerticalScrollBar().setValue(treeView1.getVerticalScrollBar().getValue());
}
}
0
ChristOffAum Messages postés 10 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 10 septembre 2009
5 août 2009 à 14:25
Merci DARKSIDIOUS
0
Rejoignez-nous