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 :

Probleme passage instance en parametre[JPanel JButton actionPerformed]


Sujet :

AWT/Swing Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Probleme passage instance en parametre[JPanel JButton actionPerformed]
    Bonjour,
    j'ai donc un applet qui fait appel à une classe Menu (afin de connaitre les JPanel à afficher) dont les panel sont créé dans une classe SousMenu.

    j'ai un souci avec un actionPerformed (contenu dans un jpanel1) qui appel une méthode qui modifie un JLabel et l'ajoute a un jpanel2.
    Je ne sait comment déclarer dans la méthode du JLabel le nom du jpanel2, étant donné que si je l'appel par la méthode renvoyant le jpanel2 cela ne fait que créer un nouveau jpanel me semble t'il.

    bref voici mon code de SousMenu(en version simplifiée), qui ne m'affiche rien dans Membre()

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    import java.awt.Dimension;
    import java.awt.GridBagLayout;
     
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
     
    public class SousMenu {
     
     
    	//premier onglet comportant le bouton avec actionperformed
    	public static JPanel Groupe(){
     
    		final JPanel panelgroupe=new JPanel();
    		panelgroupe.setLayout(new GridBagLayout());
    		panelgroupe.setPreferredSize(new Dimension(200, 101));
     
    		JLabel texte=new JLabel();
    		texte.setPreferredSize(new Dimension(400, 800));
     
    		JButton bouton = new JButton();
    		panelgroupe.add(bouton);
     
    	bouton.addActionListener(new java.awt.event.ActionListener() {
    		public void actionPerformed(java.awt.event.ActionEvent e) {
     
    			afficherInMembre(Membre());	
    /*ici j'ai donc besoin de renvoyer le panel de Membre()
     en l'appelant par son nom,
     Membre() ne fonctionne pas, Groupe() non plus, mais panelgroupe oui
    */
    		}
    	});
    	return panelgroupe;
     
    	};
     
    	//second onglet qui devrit comporter l'affichage
    	public static JPanel Membre(){
     
    		JPanel panelmembre=new JPanel();
    		panelmembre.setLayout(new GridBagLayout());
    		panelmembre.setPreferredSize(new Dimension(400, 800));	
     
    		return panelmembre;
    	}
     
    	public static JLabel afficherInMembre( JPanel panel)
    	{
     
    	JLabel texte=new JLabel();
    	texte.setPreferredSize(new Dimension(400, 800));
    	texte.setText("test");
     
    		StringBuilder text=new StringBuilder("<html>");
    		text.append("Ce qui devrait s'afficher <br>");
    		text.append("</html>");
    		texte.setText(text.toString());
    		panel.add(texte,null);
     
    		return texte;
    	}
     
     
    }
    je sait pas s'il existe une fonction permettant de recuperer une instance d'une classe par son nom(il me semblerait que forName ne puisse qu'uniquement créer des instance d'une classe)
    j'imagine par ailleur qu'un repaint ne fera que réinitialiser la classe qui affiche mes panel.
    enfin bref j'ai essayer pleins de choses sans savoir trop où aller, je suis en manque de direction .
    j'espère que c'est un truc tout bête et que je suis passé à coté.
    merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    bon ben j'ai appris à faire un instance publique et final

    au cas où cela servirait à quelqu'un :

    j'ai donc créé une méthode qui ne fait que créer un JPanel, j'ai rendu ce JPanel publique statique et final, mais pour cela j'ai dû créer la variable JPanel panel dans ma classe car on ne peut accéder directement à la classe JPanel.
    donc Membre() et afficher font appel a cette instance de SousMenu

    voici le code:
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    import java.awt.Dimension;
    import java.awt.GridBagLayout;
     
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
     
    public class SousMenu {
    JPanel panel;  //<========ajouté
     
    	public SousMenu(JPanel panel) {
    	this.panel=panel;
    }
     
    	//premier onglet comportant le bouton avec actionperformed
    	public static JPanel Groupe(){
     
    		final JPanel panelgroupe=new JPanel();
    		panelgroupe.setLayout(new GridBagLayout());
    		panelgroupe.setPreferredSize(new Dimension(200, 101));
     
    		JLabel texte=new JLabel();
    		texte.setPreferredSize(new Dimension(400, 800));
     
    		JButton bouton = new JButton();
    		panelgroupe.add(bouton);
     
    	bouton.addActionListener(new java.awt.event.ActionListener() {
    		public void actionPerformed(java.awt.event.ActionEvent e) {
     
    			afficherInMembre();	//ici j'ai donc besoin de renvoyer le panel de Membre() en l'appelant par son nom		
    		}
    	});
    	return panelgroupe;
     
    	};
     
    	//second onglet qui devrit comporter l'affichage
    	public static JPanel Membre(){
     
    		JPanel panelmembre=SousMenu.membr.panel;//<==modifié
    		panelmembre.setLayout(new GridBagLayout());
    		panelmembre.setPreferredSize(new Dimension(400, 800));	
     
     
    		return panelmembre;
    	}
    	public static JPanel createpanel0()<===ajoute
    	{JPanel retur=new JPanel();
    	return retur;
    	}
     
     
    	public static final SousMenu membr=new SousMenu(createpanel0());//<==ajouté
    	public static JLabel afficherInMembre()
    	{
     
    	JLabel texte=new JLabel();
    	texte.setPreferredSize(new Dimension(400, 800));
    	texte.setText("test");
     
    		StringBuilder text=new StringBuilder("<html>");
    		text.append("Ce qui devrait s'afficher <br>");
    		text.append("</html>");
    		texte.setText(text.toString());
    		SousMenu.membr.panel.add(texte,null);//<===modifie
     
    		return texte;
    	}
     
     
    }

    c'était bien tout con

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

Discussions similaires

  1. Probleme avec passage d'un parametre Query
    Par spider_sup dans le forum JSF
    Réponses: 19
    Dernier message: 20/08/2008, 11h19
  2. probleme passage de parametres
    Par lea94140 dans le forum Flash
    Réponses: 1
    Dernier message: 30/11/2006, 20h23
  3. Probleme de passage d un parametre
    Par micanti dans le forum Struts 1
    Réponses: 6
    Dernier message: 07/07/2006, 17h03
  4. probleme passage parametre dans l'url IE
    Par kurthectic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/04/2006, 15h40
  5. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25

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