stigmate101
Messages postés89Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention30 avril 2020
-
12 mars 2009 à 15:15
amundain
Messages postés110Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention28 août 2012
-
13 mars 2009 à 15:09
Bonjour
Comment dans une JComboBox tester l'existance d'un élément
Merci
amundain
Messages postés110Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention28 août 20121 13 mars 2009 à 15:09
Salut,
Il y a un souci sur ta comparaison : tu compares 2 instances de String qui ont le même texte mais pas la même référence ! La comparaison la + efficace peut se faire sur le contenu, à savoir le texte elle-même
Essaie de remplacer ta méthode actionPerformed avec celle-ci :
stigmate101
Messages postés89Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention30 avril 2020 13 mars 2009 à 14:53
Je chercher à ajouter un élément selectionné dans une JComboBox dans une seconde JCombobox en testant au préalable l'existance de cette élément.
Dans mon code, le comportement n'est pas satisfaisant. J'utilise la fonction equal(). Ce que je ne comprends pas, c'est le premier test n'est pas pris en compte.
Par exemple si je selection "Element 1" dans la première JComboBox et que je le copie dans la seconde, alors qu'il est déjà présent. La première fois, il est copie, la deuxième fois non.
Ni la première fois ni la seconde, il ne devrait être copié.
Merci d'avance
Voici le code :
// --- début Classe FenetreListes_04 --- //
import java.awt.FlowLayout;
@SuppressWarnings("serial")
public class FenetreListes_04 extends JFrame{
private JComboBox liste1;
private JComboBox liste2;
public FenetreListes_04(){
super();
build();//On initialise notre fenêtre
}
private void build(){
setTitle("Fenêtre qui propose une liste de choix"); //On donne un titre à l'application
setSize(420,340); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(true); //On permet le redimensionnement
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
setContentPane(buildContentPane());
}
private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
Object[] elements = new Object[]{"Element 1", "Element 2", "Element 3", "Element 4", "Element 5"};
liste1 = new JComboBox(elements);
panel.add(liste1);
JButton bouton = new JButton(new CopierAction_04(this, "Copier"));
panel.add(bouton);
liste2 = new JComboBox(elements);
panel.add(liste2);
/*
JButton bouton2 = new JButton(new SupprimmerAction_04(this, "Enlever"));
panel.add(bouton2);
public static void main(String[] args) {
//On crée une nouvelle instance de notre FenetreTexte
FenetreListes_04 fenetre = new FenetreListes_04();
fenetre.setVisible(true);//On la rend visible
}
}
// --- Fin Classe FenetreListes_04 --- //
// --- Début class CopierAction_04 --- //
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
@SuppressWarnings("serial")
public class CopierAction_04 extends AbstractAction {
private FenetreListes_04 fenetre;
public CopierAction_04(FenetreListes_04 fenetre, String texte){
super(texte);
this.fenetre = fenetre;
}