Redessiner le contenu d'un JScrollPane
Bonjour,
je fait une petite interface dans laquelle le souhaite faire défiler des morceaux d'images, donc pour cela j'ai un panneau dans lequel je met un JScrollPane qui contiendra lui même mon image :
Code:
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 Noyaux extends JFrame
{
...
public Noyaux(String CheminDossier)
{
...
CrerIHM() ;
...
}
...
private void CreerIHM()
{
setSize(Largeur,Hauteur) ;
setLocation(200, 100) ;
...
Horizontale = Box.createHorizontalBox() ;
VerticaleDroite = Box.createVerticalBox() ;
VerticaleGauche = Box.createVerticalBox() ;
....
PanneauImage = new JPanel() ;
ScrollPaneImage = new JScrollPane() ;
PanneauImage.add(ScrollPaneImage) ;
VerticaleGauche.add(PanneauImage) ;
Horizontale.add(VerticaleGauche) ;
Horizontale.add(VerticaleDroite) ;
PanneauGeneral = new JPanel() ; // Le panneau principal
PanneauGeneral.add(Horizontale) ;
...
}
...
} |
Mais je dois faire défiler les images chaque fois que je clique sur un bouton. Pour cela j'ai essayé les deux choses suivantes que j'ai trouvé sur le forum, mais ça ne marche pas :
Code:
1 2 3 4 5
|
ScrollPaneImage = new JScrollPane(new ImageCanvas(BufferedImageCourante.getSubimage(minx, miny, maxx-minx, maxy-miny))) ;
ScrollPaneImage.paint(ScrollPaneImage.getGraphics()) ;
PanneauImage.repaint() ;
PanneauGeneral.repaint() ; |
Code:
1 2 3 4 5
|
ScrollPaneImage = new JScrollPane(new ImageCanvas(BufferedImageCourante.getSubimage(minx, miny, maxx-minx, maxy-miny))) ;
ScrollPaneImage.repaint() ;
PanneauImage.repaint() ;
PanneauGeneral.repaint() ; |
Mais aucune image ne s'affiche après el clic sur le bouton.
Est ce que quelqu'un saurait comment faire ?
Merci par avance...
PS : pour ceux qui auraient des doutes, la commande suivante affiche une image, c'est le ré-Affichage qui pose souci :
Code:
JScrollPane ScrollPaneImage = new JScrollPane(new ImageCanvas(BufferedImageCourante.getSubimage(minx, miny, maxx-minx, maxy-miny))) ;