begin process at 2010 02 10 04:46:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

JComboBox tester l'existance d'un élément


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

JComboBox tester l'existance d'un élément

jeudi 12 mars 2009 à 15:15:34 | JComboBox tester l'existance d'un élément

stigmate101

Bonjour
Comment dans une JComboBox tester l'existance d'un élément
Merci
jeudi 12 mars 2009 à 15:35:24 | Re : JComboBox tester l'existance d'un élément

amundain

Salut,


Tu fais une boucle de récupération des éléments et tu testes chaque élément...

for

( int i=0;i<ta_jComboBox.getItemCount();i++){

boolean exists=
((String)ta_jComboBox.getItemAt(i)).equals(TA_VARIABLE_COMPAREE));

}



A +,

amundain


Java bien,merci.
jeudi 12 mars 2009 à 16:49:54 | Re : JComboBox tester l'existance d'un élément

stigmate101

Merci Amundain pour ta solution.

Je pense qu'il doit exister une fonction qui permet de tester, si un élément existe dans une JComboBox.

Merci

@+

vendredi 13 mars 2009 à 14:53:28 | Re : JComboBox tester l'existance d'un élément

stigmate101

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;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

@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);
  
  JButton bouton3 = new JButton(new ViderAction_04(this, "Vider"));  
  panel.add(bouton3);
  */
  return panel;
 }
 
 public JComboBox getListe1(){
  return liste1;
 }
 
 public JComboBox getListe2(){
  return liste2;
 }
 
 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;
 }
 
 public void actionPerformed(ActionEvent e) {
  boolean exists = false;
  String sAction = "Pas ajouté";
  Object selected = fenetre.getListe1().getSelectedItem();
  
  for ( int i = 0 ; i < fenetre.getListe2().getItemCount() ; i++){   
   exists = (fenetre.getListe2().getItemAt(i).equals(selected));   
  } 

  if(!exists){
   fenetre.getListe2().addItem(selected);
   sAction ="Ajouté";
  }
  System.out.println( sAction +" " + selected);    
 }
}
// --- Fin  class CopierAction_04 --- //

vendredi 13 mars 2009 à 15:09:54 | Re : JComboBox tester l'existance d'un élément

amundain

Réponse acceptée !

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 :

public

void actionPerformed(ActionEvent e) {

boolean exists = false ;

String sAction =

"Pas ajouté" ;

String selected =

fenetre .getListe1().getSelectedItem().toString();

for ( int i = 0 ; i < fenetre .getListe2().getItemCount() ; i++){

String itemToCompare=

fenetre .getListe2().getItemAt(i).toString();

if (itemToCompare.equals(selected)){

exists=

true ;

}

}

if (!exists){

fenetre .getListe2().addItem(selected);

sAction =

"Ajouté" ;

}





A +,

amundain


Java bien,merci.



Cette discussion est classée dans : élément, tester, existance, jcombobox


Répondre à ce message

Sujets en rapport avec ce message

Tester l'existance d'un fichier??? [ par alexglvr ] Bonjour,j'ai un prg qui affiche des pages html.Les pages html sont contenues dans un repertoire et appelées:Page1.htm, Page2.htm,...,PageX.htmil y a d JComboBox en Java [ par etudiant ] Je voudrais savoir comment provoquer une action même si l'élément sélectionné dans le ComboBox est le même qui a été sélectionné précédemment? Pour l' Tester l'existance d'un fichier [ par juancho2786 ] Bonsoir tous !!Je suis entrain de créer un application dans laquel je crée un fichier. Le programme au lancement vérifie si le fichier existe sinon il parcourir les élément d'un jcombobox [ par blatifa2008 ] bonjour,svp,je veux connaitre est ce qu'il y'a une méthode ou un évenement qui permettre de parcourir les éléments d'un jcombobox ou jlist , exactemen récupéré l'élément selectionné à partir d'un jcombobox [ par yasmina13 ] Bonsoir à tous;je veut récupéré l'element seléctionné à partir d'un combobox pour l'affiché dans jlabel .sa c'est un bout de code qui justifier ma sol JComboBox avec scrollBar verticale [ par fluss01 ] Bonjour,Je voudrais savoir s'il était possible d'avoir une scrollBar verticale lors de l'affichage des items contenus dans une JComboBox car sur ce co tester si une class est sous class d'une autre [ par chien57 ] je voudrai savoir comment tester si une class est sous class d'une autre Tester un Portlet sans passer par un WAR [ par DMK04 ] Bonjour à tous,J'aimerai savoir s'il est possible de tester des Portlets directement après les avoir développé sans devoir les déployer manuellement d Lien Hypertext java [ par wafa1987 ] Bonjour,J'ai une interface graphique, je veux creer une liste de choix qui contient des liens hypertext vers d'autre page.JComboBox liste0 = new JComb Jtree select node [ par zemzemi ] bonjourest-t-il possible de sélectionner un n½ud dans un arbre juste on passant  par paramètre leur nom.Par exemple : soit l'arbre suivantroot    élém


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales