Bonjour,
J'ai fait un petit programme pour tester une fonction.
Lorsque l'on clique sur un premier bouton, le programme affiche une image ensuite je voudrais qu'en cliquant sur un deuxième bouton on affiche une autre image à la place de la première. En cliquant de nouveau sur la première on affiche à nouveau... blablabla ^^
Mon souci bien évidamment, c'est que je peux afficher l'une des deux images sans soucis mais quand je clique sur l'autre bouton, l'autre image ne s'affiche pas. La même image reste affichée.
Voici mon code, si une âme charitable voulait bien m'éclairer :')
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SwitchImages extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
String linkImg1 = "D:\\1.jpg";
String linkImg2 = "D:\\2.jpg";
JPanel pane= new JPanel();
public SwitchImages(int choix)
{
setBounds(10,10,680,680);
setTitle("Switch Images");
pane.setLayout(null);
b1.setBounds(220,45,42,30);
b2.setBounds(290,45,42,30);
pane.add(b1);
pane.add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
setContentPane(pane);
}
public void redraw(int choix)
{
if (choix==1)
{
AffichageImage image = new AffichageImage(linkImg1);
image.setBounds(10, 130, 640, 480);
pane.add(image);
setContentPane(pane);
}
else if (choix==2)
{
AffichageImage image = new AffichageImage(linkImg2);
image.setBounds(10, 130, 640, 480);
pane.add(image);
setContentPane(pane);
}
}
public void actionPerformed(ActionEvent evt)
{
Object result = evt.getSource();
if (result==b1)
redraw(1);
else if (result==b2)
redraw(2);
}
class AffichageImage extends Canvas
{
Image img;
public AffichageImage(String emplacementImage)
{
img = getToolkit().getImage(emplacementImage);
prepareImage(img, this);
}
public void paint(Graphics g)
{
g.drawImage(img, 0, 0, this);
}
}
public static void main(String[] args) {
SwitchImages Interface = new SwitchImages(0);
Interface.setVisible(true);
Interface.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
}
}
Merci d'avance ;)
Configuration: Windows Vista
Firefox 2.0.0.11