first commit
This commit is contained in:
70
TP_DEV3.1/Organisation du code/test/AppGalerie.java
Normal file
70
TP_DEV3.1/Organisation du code/test/AppGalerie.java
Normal file
@@ -0,0 +1,70 @@
|
||||
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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user