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

Langage Java Discussion :

Générer des noms de variables à la volée


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut Générer des noms de variables à la volée
    Salut à tous, je bloque sur un probleme de JAVA.

    Je dois concevoir un navigateur SQL. Un JMenuItem déclenche un PopUp qui me permet d'ouvrir une connexion, ça fonctionne.
    Un JMenu se charge alors et liste toutes les tables présentes sur la base de données. (Ca aussi, ça fonctionne).
    Pour chaque table, j'ajoute un ActionListener qui me permet, lors du clic sur le JMenuItem (en gros lorsque l'on clique sur une table), d'afficher la table dans un JPanel du navigateur.

    Voici le code utilisé :

    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
    21
    22
    23
    24
    String recuptab = "select table_name from all_tables order by table_name";
    			try{
    			Statement stm = conn.createStatement();
    			ResultSet rset = stm.executeQuery(recuptab);
     
    			JMenuItem temp_name;
    			while(rset.next())
    			{
    				tablename = rset.getString(1);
    				temp_name = new JMenuItem(tablename);
    				temp_name.addActionListener(new ActionListener() {
    					public void actionPerformed(ActionEvent e)
    					{
    						effectuerRequete("select * from "+tablename);
    					}
    				});
    				menutable.add(temp_name);
     
    			}
     
    catch(java.sql.SQLException jq)
    			{ 
    				areaconnec.setText("La requete a echoue");
    			}
    La fonction effectuerRequete fonctionne très bien.

    Le soucis est qu'à chaque boucle, tous les actionlistener sont remplacés par celui en cours de construction. Finalement, lorsque l'on clique sur un JMenuItem (choix d'une table), on affiche toujours la table concernant le dernier JMenuItem.

    Je souhaite donc pouvoir trouver une solution pour résoudre mon soucis.
    Merci d'avance et joyeuses fêtes.

  2. #2
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void actionPerformed(ActionEvent e)
    {
    	effectuerRequete("select * from "+ ((JMenuItem)e.getSource()).getText() );
    }
    Avec cette façon de faire, tu peux même n'avoir qu'un seul ActionListener pour tous tes MenuItem

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Perfect !

    J'avais pas pensé à le faire dans ce sens là

    Sinon je cherche également à savoir si il était possible d'ajouter une barre de défilement à un JMenu étant donné que le nombre de tables sur la base est assez conséquent (je n'ai accès qu'à une 20aine de tables, les premières dans l'alphabet).

    Merci beaucoup !

  4. #4
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    ajouter une barre de défilement à un JMenu
    Je ne l'ai jamais fait et je sens le truc qui fait perdre beaucoup de temps et qui sera une source d'ennuis infinis.
    S'il est indispensable que tu passes par des menus, tu peux faire un menu avec les schémas où chaque item propose un sous-menu avec les tables.
    Sinon tu peux passer par un JList dans un dialogue.

  5. #5
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    WHAO, une barre de défilement dans un JMenu... je ne sais pas si c'est possible mais ça fera bizarre nan?
    Tu devrais plutôt faire dans JMenu un JItem "Choix de la table" qui t'affichera une fenêtre avec un JList de tes tables...

    A voir si c'est compatible avec se que tu souhaite au final

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Ok je vous remercie pour vos réponses, je vais me débrouiller comme ceci.

    Je voulais d'abord savoir si ça existait

    Je vous souhaite de bonnes fêtes de fins d'année.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Paramétrage des noms de variables
    Par AndréPe dans le forum Access
    Réponses: 2
    Dernier message: 07/10/2006, 15h54
  2. [Tableaux] Chaine contenant des noms de variables
    Par novices dans le forum Langage
    Réponses: 6
    Dernier message: 06/04/2006, 23h33
  3. [Stratégie] Générer des noms de variables
    Par Rekiem dans le forum Général Java
    Réponses: 31
    Dernier message: 09/01/2006, 10h23
  4. [Convention]Préfixage des noms de variables
    Par javaSudOuest dans le forum Langage
    Réponses: 5
    Dernier message: 18/11/2005, 15h52
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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