IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Récupérer valeur de JComboBox selon son type


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Points : 88
    Points
    88
    Par défaut Récupérer valeur de JComboBox selon son type
    Bonjour à tous, j'ai une fenêtre (formulaire) avec plusieurs JComboBox qui sont remplis depuis une base de données.
    Dans la fenêtre je représente par exemple une combo avec toutes les villes contenues dans ma base et je voudrais récupérer le champ numérique qui répresente la ville dans la base:

    Pour cela je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    combo.addItemListener(new ItemListener() {
            	@Override
            	public void itemStateChanged(ItemEvent e) {
            		getIDCombos(combo.getName(), e);
            	}     		
     
            	});
     
    		this.add(combo, txtPos);
    	    }
     
    	protected void getIDCombos(String comboNom, ItemEvent e) {
    		// TODO Auto-generated method stub
    		DatoIDlng lngId = (DatoIDlng) e.getItem();
    		if (e.getStateChange() == ItemEvent.SELECTED) {
    				if (comboNom == "idVille"){
    					lngIdVille = lngId.getId();
    				}
    Dans ma classe DatoIDlng:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public class DatoIDlng {	
     
    	private String strDato;
    	private String strDescr;
    	private long lngId;
     
    	public DatoIDlng(long lngId, String strDato, String strDescr) {
    		this.strDato = strDato;
    		this.strDescr = strDescr;
    		this.lngId = lngId;
    	}
    //...
     
    	public long getId() {
    		return this.lngId;
    	}
     
    	public void setId(long lngId) {
    		this.lngId = lngId;
    	}
    Jusque là, pas de soucis. Mais puisque j'ai plusieurs JComboBox dans ma fenêtre et certains contiennent des valeurs integer, d'autres long, d'autres date... je voudrais que ma classe DatoIDlng soit capable de recevoir la valeur, de déterminer son type (long, integer, date...) et en fonction de cela faire un getIdLong, getIdInteger, getIdDate...)

    Je voudrais savoir quelle est la meilleur façon de faire cela, dans la classe DatoIDlng directement ou bien dans la méthode getIDCombos de ma fenêtre?

    Merci d'avance pour vos conseils.

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 022
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    ton problème n'est pas très clair, tu parles de villes, de dates... mais tu peux peut-être passer par la surcharge.
    Vive les roues en pierre

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Points : 88
    Points
    88
    Par défaut
    Bonjour Djakisback,

    Merci pour la réponse.

    Dans ma fenêtre j'ai plusieurs combos à deux colonnes, les colonnes de gauche peuvent avoir dans la base de données des valeurs de type long, int ou date, par exemple:

    IdVille (long)... NomVille (String)
    IdStatus (int)...Status (String)
    Date (date).... Evenement (String)

    La combo montre seulement les colonnes de type String, mais derrière je voudrais récupérer la valeur des colonnes de gauche, selon leur type. Je voudrais transformer ma classe DatoIDlng, qui reçoit seulement des données de type long, pour qu'elle puisse déterminer le type de donnée de la colonne de gauche mais je n'arrive pas...

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 84
    Points : 65
    Points
    65
    Par défaut
    Salut ,je ne suis pas sûr de bien comprendre mais tu peux transmettre le combobox en paramètre à ta classe ensuite tu fais ce que tu veux avec : )

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Points : 88
    Points
    88
    Par défaut
    Bonsoir,

    Je pense que passer ma combo en paramètre me complique l'affaire, puisque déjà mes combos sont crées dynamiquement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    			addCombo("idville", 	"4, 6, fill, default","ville", "departamento","Departement: ", "SELECT idvilld, ville, departement FROM qvillesdep ORDER BY ville");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    	public void addCombo(String cNom, String txtPos, String strDato, String strDescr, String strToolTip, String strSQL){
    		final JComboBox combo = new JComboBox ();	
    		new ComboLlenar (combo, cNom, strDato, strDescr, strToolTip, strSQL);
    		combo.setToolTipText("Choisir une valeur dans la liste:");
    		combo.setName(cNom);
    		AutoCompleteDecorator.decorate(combo);
    //		combo.setSize(10, 10);
    		combo.addItemListener(new ItemListener() {
            	@Override
            	public void itemStateChanged(ItemEvent e) {
            		getIDCombos(combo.getName(), e);
            	}     		
     
            	});
     
    		this.add(combo, txtPos);
    	    }

Discussions similaires

  1. [DOM XML] Récupérer la valeur d'un tagname selon son attribut
    Par nkordiko dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 11/04/2012, 11h04
  2. [XL-2003] Récupérer valeur de ligne selon recherche dans tableau
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/11/2009, 13h02
  3. [MCD] Entité liée à une entitée ou à une autre selon son type
    Par kalan79 dans le forum Schéma
    Réponses: 1
    Dernier message: 26/01/2009, 21h04
  4. afficher une valeur en rouge selon son signe
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/05/2008, 17h54
  5. Comment récupérer la valeur par défaut d'un type ?
    Par Jérôme Lambert dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 27/02/2007, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo