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

Java Discussion :

Code d'ajout de composants qui ne marche pas s'il est lancé depuis une procèdure


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Points : 21
    Points
    21
    Par défaut Code d'ajout de composants qui ne marche pas s'il est lancé depuis une procèdure
    Bonjour,
    je suis confronté au problème suivant :
    je crée une interface graphique dynamiquement en me basant sur une requete sql.
    Cette partie marche.
    Je prends le même code et je le met dans une procédure et là ça ne fonctionne plus comme si il ne pouvait pas ajouter de bouton dans le panel.

    Ci dessous le code qui marche :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    public Map<String, JButton> btnMap;
     
    public auto(){
     
     
    		setTitle("test");
    		final JPanel panneau1 = new JPanel();
    	getContentPane().add(panneau1);
     
    		panneau1.setLayout(new GridLayout(0,5));
    		int i =0;
    		btnMap = new HashMap<>();
     
    //partie qui me génere les boutons 
    		try { 
     
    			//je récupère les variables de conexion de la classe VariableGlobale
    			VariablesGlobales vcon = new VariablesGlobales();
     
    			Class.forName(vcon.driverName);		
    			//Connection con = DriverManager.getConnection(vcon.url, vcon.userName, vcon.password);
    			con = DriverManager.getConnection(vcon.url, vcon.userName, vcon.password);
    		    PreparedStatement ps = con.prepareStatement("select * from toto");
    	        ResultSet rs = ps.executeQuery();
     
    	        //jcombo.removeAllItems();
    	        while (rs.next()) {
    	        	svaleur = rs.getString("NOM");
     
    	        	btn =new JButton();
    				panneau1.add(btn);
     
    				btn.setText(svaleur);
    				btn.setName("btne" + i);
    				btnMap.put("btne" +i, btn);
    				btn.addActionListener(this);
    				i=i+1;
    			}
     
    		    con.close(); 
    		} catch (Exception e) { 
    			try {
    				con.close();
    			} catch (SQLException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    			System.err.println("Got an exception! "); 
    		    System.err.println(e.getMessage()); 
    		}
     
    	setVisible(true);
     
     
    	}
    si je prends bêtement la partie qui ajoute les boutons et que je la mets ainsi :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    public void test(){
     
     
    	try { 
     
    			//je récupère les variables de conexion de la classe VariableGlobale
    			VariablesGlobales vcon = new VariablesGlobales();
    			int i =0;
    			Class.forName(vcon.driverName);		
    			//Connection con = DriverManager.getConnection(vcon.url, vcon.userName, vcon.password);
    			con = DriverManager.getConnection(vcon.url, vcon.userName, vcon.password);
    		    PreparedStatement ps = con.prepareStatement("select distinct NOM from totot ");
    	        ResultSet rs = ps.executeQuery();
     
    	        //jcombo.removeAllItems();
    	        while (rs.next()) {
    	        	svaleur = rs.getString("NOM");
     
    	        	btn =new JButton();
    				panneau1.add(btn);
     
    				btn.setText(svaleur);
    				btn.setName("btne" + i);
    				btnMap.put("btne" +i, btn);
    				btn.addActionListener(this);
    				i=i+1;
    			}
     
    		    con.close(); 
    		} catch (Exception e) { 
    			try {
    				con.close();
    			} catch (SQLException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    			System.err.println("Got an exception! "); 
    		    System.err.println(e.getMessage()); 
    		}
    	}
    j'obtiens l'erreur :
    Got an exception!
    null
    au moment de rajouter le bouton dans le panneau1

    Comme je dois faire une dizaine de fois la même manipulation j'aimerais vraiment arriver à intégrer le code dans une procédure.
    Et puis j'avoue que je comprends pas pourquoi ça ne veut pas marcher et ça m'agace....

    Si quelqu'un voit ou j'ai fais la bêtise

    Merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Points : 21
    Points
    21
    Par défaut Reponse
    j'ai finallement trouvé une solution en passant en variable le panneau1


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test(Container pane){...}
    Bonne soirée à tous

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/11/2012, 14h20
  2. [SP-2010] event receiver qui ne marche pas quand il est couplé avec un content type
    Par cekamb72 dans le forum SharePoint
    Réponses: 6
    Dernier message: 29/08/2011, 18h53
  3. code importation excel=>Access qui ne marche pas
    Par marcuscircus dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/06/2008, 10h34
  4. Réponses: 3
    Dernier message: 24/04/2008, 16h30
  5. code qui ne marche pas
    Par Jihed Amine Maaref dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/08/2005, 13h44

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