j'ai ma classe suivante, j'ai cree un JMenu pour ranger la liste des options possibles dont celle d'ajout d'element graphique dans mon JFrame
malheureusement ca ne fonctionne pas malgre que le JLabel panneau soit global, ca marche quand je passe directement par une methode mais pas lorsque la methode est appele via un addActionListener(maMethode), c'est a dire le JMenu
quelqu'un sais t il ce qu'il manque? merci
public MaClasse() extends JFrame{
Container c; JLabel panneau;
MaClasse(){ c = getContentPane(); c.setLayout(new BorderLayout());
panneau = new JPanel(); panneau.setBorderLayout(new GridLayout(5,2));
c.add(panneau, BorderLayout.CENTER);
creationMenu();
initialisationAff(); }
public void initialisationAff(){
JLabel toto = new JLabel("toto" ); panneau.add(toto); //fonctionne et s'affiche }
public void ajoutElement(){ JLabel titi = new JLabel("titi" ); panneau.add(titi); //fonctionne pas element non affiche }
public void creationMenu(){
JMenuBar barre = new JMenuBar()... //creation de mon menu .....
JMenuItem optionNouveau = new JMenuItem("nouveau" ); optionNouveau.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ ajoutElement(); } } );
Marsh Posté le 23-11-2004 à 12:25:13
bonjour
j'ai ma classe suivante, j'ai cree un JMenu pour ranger la liste des options possibles dont celle d'ajout d'element graphique dans mon JFrame
malheureusement ca ne fonctionne pas malgre que le JLabel panneau soit global, ca marche quand je passe directement par une methode mais pas lorsque la methode est appele via un addActionListener(maMethode), c'est a dire le JMenu
quelqu'un sais t il ce qu'il manque?
merci
public MaClasse() extends JFrame{
Container c;
JLabel panneau;
MaClasse(){
c = getContentPane();
c.setLayout(new BorderLayout());
panneau = new JPanel();
panneau.setBorderLayout(new GridLayout(5,2));
c.add(panneau, BorderLayout.CENTER);
creationMenu();
initialisationAff();
}
public void initialisationAff(){
JLabel toto = new JLabel("toto" );
panneau.add(toto); //fonctionne et s'affiche
}
public void ajoutElement(){
JLabel titi = new JLabel("titi" );
panneau.add(titi); //fonctionne pas element non affiche
}
public void creationMenu(){
JMenuBar barre = new JMenuBar()...
//creation de mon menu
.....
JMenuItem optionNouveau = new JMenuItem("nouveau" );
optionNouveau.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
ajoutElement();
}
}
);
}
}