Bonjour,
J'essai de faire un diaporama en java mais je suis confronté a un problème : je voudrais faire passer les images grâce à un clic de la souris.
Mais voila j'arrive a faire passer q'uune seule photo.
Comment faire pour que je puisse cliquer et changer de photos jusqu'a la fin de mon dossier ?
voici mon code :
package vue;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.Observable;
import java.util.Observer;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
//import modele.App;
import modele.Dossier;
import modele.DossierImpl;
import modele.Photo;
import modele.PhotoImpl;
public class Diapo extends JFrame{
private int i=0;
private DossierImpl dossier;
private JPanel dia;
public Diapo(DossierImpl dossier){
this.dossier=dossier;
dia=new JPanel();
final ArrayList<Photo> liste_p= dossier.getListePhotos();
Photo p=liste_p.get(i);
ImageIcon im1= new ImageIcon(((PhotoImpl)p).getChemin());
Image scaleImage = im1.getImage();
JLabel imagelab = new JLabel(new ImageIcon(scaleImage));
dia.add(imagelab);
imagelab.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent arg0) {
System.out.println("diaporama");
if(i==liste_p.size()){
setVisible(false);
System.out.println("ok");
}else{
dia.removeAll();
i=i+1;
System.out.println(i);
Photo p=liste_p.get(i);
ImageIcon im1= new ImageIcon(((PhotoImpl)p).getChemin());
Image scaleImage = im1.getImage();
JLabel im= new JLabel(new ImageIcon(scaleImage));
dia.add(im);
dia.repaint();
dia.revalidate();
}
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
});
this.add(dia) ;
this.setDefaultLookAndFeelDecorated(false);
this.setExtendedState(this.MAXIMIZED_BOTH);
this.setUndecorated(true);
this.setVisible(true);
}
}
Aidez moi s'il vous plait!
Diaporama JAVA
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.