Newer
Older
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
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.awt.BorderLayout;
import java.awt.Image;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
/**
*
* @author brunomermet
*/
public class FenetreDiaporama extends AbstractFenetreInterne {
ImageIcon [] images;
String[] textes;
JLabel affichage;
Defilement defilement;
private int indiceCourant = 0;
public FenetreDiaporama(Action action) {
super(action,"Diaporama");
images = new ImageIcon[3];
try {
images[0] = new ImageIcon(new ImageIcon(new URL("http://bruno.mermet.pagesperso-orange.fr/Personnel/Anes/Randos/TourDeLaHague/10bocage.jpg")).getImage().getScaledInstance(300, -1, Image.SCALE_DEFAULT));
images[1] = new ImageIcon(new ImageIcon(new URL("http://bruno.mermet.pagesperso-orange.fr/Personnel/Anes/Randos/TourDeLaHague/12baieEcalgrain.jpg")).getImage().getScaledInstance(300, -1, Image.SCALE_DEFAULT));
images[2] = new ImageIcon(new ImageIcon(new URL("http://bruno.mermet.pagesperso-orange.fr/Personnel/Anes/Randos/TourDeLaHague/15cote.jpg")).getImage().getScaledInstance(300, -1, Image.SCALE_DEFAULT));
} catch (MalformedURLException ex) {
images[0] = null;
images[1] = null;
images[2] = null;
}
JPanel panneauTexte = new JPanel();
/*textes = new String[3];
textes[0] = "bonjour";
textes[1] = "le";
textes[2] = "monde";*/
affichage = new JLabel();
panneauTexte.add(affichage);
affichage.setIcon(images[0]);
// affichage.setText(textes[0]);
JScrollPane ascenseurs = new JScrollPane(affichage);
add(ascenseurs,BorderLayout.CENTER);
//add(panneauTexte,BorderLayout.CENTER);
setSize(300,300);
//pack();
}
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
class Defilement implements Runnable {
private boolean arrete;
public Defilement() {
arrete = false;
}
@Override
public void run() {
while (!arrete) {
try {
Thread.sleep(2000);
}
catch (InterruptedException iex) {
}
indiceCourant++;
indiceCourant = indiceCourant % 3;
affichage.setIcon(images[indiceCourant]);
}
}
public void arreter() {
arrete = true;
}
}
@Override
public void setVisible(boolean b) {
super.setVisible(b);
if (b) {
defilement = new Defilement();
Thread thread = new Thread(defilement);
thread.start();
}
else {
if (defilement != null) {
defilement.arreter();
}
}
}
}