Afficher une image en fonction de critere

goulvena29 Messages postés 6 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 14 juin 2010 - 28 févr. 2010 à 14:49
goulvena29 Messages postés 6 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 14 juin 2010 - 1 mars 2010 à 14:50
Bonjour,

J'ai cree un programme qui affiche une fenetre JFrame comportant des JComboBox et je souhaite suivant le choix fait à la combo afficher une image ou une autre ( si on choisi la region Auvergne, on affiche dans la Jframe une image de l'auvergne et pareil pour les autre regions).

J'arrive bien à afficher des images en passant par une JPanel mais je n'arrive pas ensuite à les retirer.
Quelqu'un a-t-il une solution a ce probleme.
Merci d'avance

2 réponses

Utilisateur anonyme
1 mars 2010 à 00:20
Salut,

Tu peux nous montrer ton code (au moins la partie céation combo et affichage ?

Cordialement,


...\ Dan /...
0
goulvena29 Messages postés 6 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 14 juin 2010
1 mars 2010 à 14:50
Voila le code que j'utilise :

public void creationComboFrance()
{
Variables.bVALID=new JButton("Validez votre saisie");
Variables.bVALID.setEnabled(true);
Variables.bVALID.setBounds(Variables.largeur/4+100 ,Variables.hauteur+200,150, 100);
Variables.bVALID.addActionListener(this);
Variables.panel.add(Variables.bVALID);

Variables.combo4 = new JComboBox(Geographie.region);
Variables.combo4.setEditable(true);
Variables.combo4.setBounds(Variables.largeur/4, Variables.hauteur+100, 200, 50);
Variables.combo4.setMaximumRowCount(8);
Variables.combo4.setSelectedIndex(0);
Variables.panel.add(Variables.combo4);
Variables.combo4.addActionListener(this);

Variables.combo5 = new JComboBox();//Geographie.France);
Variables.combo5.setEditable(true);
Variables.combo5.setBounds(Variables.largeur/4 +220,Variables.hauteur+100, 200, 50);
Variables.combo5.setMaximumRowCount(8);
Variables.panel.add(Variables.combo5);
Variables.combo5.addActionListener(this);
}
public void choixdepartement(int region)
{
Variables.combo5.removeAllItems();
int longueur=0;
String[] Station = null;
ImageIcon choixregion = new ImageIcon();
switch(region)
{
case 0 : longueur=Geographie.depAlsace.length; Station = Geographie.depAlsace; choixregion = new ImageIcon("carte-Alsace.jpg");break;
case 1 : longueur=Geographie.depAlquitaine.length;Station = Geographie.depAquitaine;choixregion = new ImageIcon("carte-Aquitaine.jpg");break;
case 2 : longueur=Geographie.depAuvergne.length;Station = Geographie.depAuvergne;choixregion = new ImageIcon("carte-Auvergne.jpg");break;
case 3 : longueur=Geographie.depBNormandie.length;Station = Geographie.depBNormandie;choixregion = new ImageIcon("carte-BNormandie.jpg");break;
case 4 : longueur=Geographie.depBourgogne.length;Station = Geographie.depBourgogne;choixregion = new ImageIcon("carte-Bourgogne.jpg");break;
}

for (int i = 0;i<142;i++)
{
for(int n=0;n<longueur;n++)
{
if(Variables.StationValide[i].equalsIgnoreCase(Station[n]))
{
Variables.combo5.addItem(Variables.StationValide[i]);
}
}
}

Variables.region = new JLabel(Choixregion);
Variables.hauteur2 = Choixregion.getIconHeight();
Variables.largeur2 = Choixregion.getIconWidth();
Variables.region.setBounds(600,100,Variables.largeur2,Variables.hauteur2);
Variables.panel.add(Variables.region);

Variables.panel.add(Variables.combo5);
Variables.combo5.addActionListener(this);
}

public void actionPerformed(ActionEvent arg0)
{
int SelectRegion=0;
Object SelectStation;
if(arg0.getSource()==Variables.combo4)
{
SelectRegion = Variables.combo4.getSelectedIndex();
choixdepartement(SelectRegion);
}
if(arg0.getSource()==Variables.bVALID)
{
SelectStation=Variables.combo5.getSelectedItem();
Variables.SelectStationS =(String) SelectStation ;
System.out.println(Variables.SelectStationS);
}
}

Voila une partie du code, l'affichage des stations dans la combo5 fonctionne tres bien mais pas l'affichage de l'image...
Si vous avez une idée...
0