Bonjour,
Le problème est le suivant :
J'ai un JDialog, qui contient un JScrollPane, qui contient lui même un JPanel.
J'ai surchargé la méthode "paint" du JPanel pour dessiner un graphique qui prend beaucoup de place, d'où le d'JScrollPane.
Mon problème est que lorsque j'utilise les scroll-barres pour me déplacer dans mon dessin, celui-ci s'efface et n'est pas rafraichi.
J'ai essayé de récupérer l'évènement "adjustmentValueChanged" du scrollbar et de faire un "repaint" explicitement mais ça n'a rien donné.
Voici le code très simplifié :
J'ai pas mal cherché sur les forum mais je n'ai rien trouvé que puisse m'aider.
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
29
30
31
32
33
34
35
36
37 public class GGraphique extends JDialog implements AdjustmentListener { Dessin dessin; public GGraphique(JFrame parent) { super(parent,"Titre"); setSize(DX+10, DY+10); Container contentPane = getContentPane(); contentPane.setLayout(null); dessin = new Dessin(t); JScrollPane conteneur = new JScrollPane(dessin); conteneur.setBounds(0, 0, DX, DY); conteneur.getVerticalScrollBar().setUnitIncrement(20); conteneur.getVerticalScrollBar().setAutoscrolls(true); conteneur.getVerticalScrollBar().addAdjustmentListener(this); contentPane.add(conteneur); } @Override public void adjustmentValueChanged(AdjustmentEvent arg0) { dessin.repaint(); } private class Dessin extends JPanel { @Override public void paint(Graphics g) { //le dessin } } }
Merci d'avance pour votre aide !

Répondre avec citation






Partager