71 lines
2.3 KiB
Java
71 lines
2.3 KiB
Java
package fr.iutfbleau.projet;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.awt.event.*;
|
|
import java.net.URL;
|
|
|
|
public class AppGalerie extends JFrame implements MouseListener {
|
|
|
|
// 1) Chemins DANS LE JAR (=> classpath)
|
|
private String[] listeImage = {
|
|
"images/image1.png",
|
|
"images/image2.png",
|
|
"images/image4.png"
|
|
};
|
|
private int indexImage = 0;
|
|
|
|
private JPanel panneau = new JPanel(new BorderLayout());
|
|
private JLabel etiquetteImage = new JLabel();
|
|
|
|
public AppGalerie() {
|
|
super("Confirmation");
|
|
|
|
etiquetteImage.setHorizontalAlignment(SwingConstants.CENTER);
|
|
etiquetteImage.setIcon(chargerIcone(listeImage[indexImage])); // <-- ICI
|
|
|
|
panneau.add(etiquetteImage, BorderLayout.CENTER);
|
|
panneau.addMouseListener(this);
|
|
|
|
setContentPane(panneau);
|
|
setSize(800, 600);
|
|
setLocationRelativeTo(null);
|
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
}
|
|
|
|
// === MouseListener ===
|
|
@Override public void mouseClicked(MouseEvent e) {
|
|
int largeurPanel = panneau.getWidth();
|
|
if (e.getX() >= largeurPanel / 2) imageSuivante();
|
|
else imagePrecedente();
|
|
}
|
|
@Override public void mousePressed(MouseEvent e) {}
|
|
@Override public void mouseReleased(MouseEvent e) {}
|
|
@Override public void mouseEntered(MouseEvent e) {}
|
|
@Override public void mouseExited(MouseEvent e) {}
|
|
|
|
// === Navigation ===
|
|
private void imageSuivante() {
|
|
indexImage = (indexImage + 1) % listeImage.length;
|
|
etiquetteImage.setIcon(chargerIcone(listeImage[indexImage])); // <-- ICI
|
|
}
|
|
private void imagePrecedente() {
|
|
indexImage = (indexImage - 1 + listeImage.length) % listeImage.length;
|
|
etiquetteImage.setIcon(chargerIcone(listeImage[indexImage])); // <-- ICI
|
|
}
|
|
|
|
// === CHARGEMENT VIA CLASSPATH ===
|
|
private ImageIcon chargerIcone(String cheminDansJar) {
|
|
URL url = getClass().getClassLoader().getResource(cheminDansJar);
|
|
if (url == null) {
|
|
// debug utile si un nom est faux
|
|
throw new IllegalArgumentException("Ressource introuvable: " + cheminDansJar);
|
|
}
|
|
return new ImageIcon(url);
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
SwingUtilities.invokeLater(() -> new AppGalerie().setVisible(true));
|
|
}
|
|
}
|