Probleme de repaint

cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011 - 5 août 2009 à 15:47
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 5 août 2009 à 16:55
Bonjour,
je cherche à afficher un panel different dans mon Jframe lorsque l'utilisateur selectionne un Item du menu.
. Si en revanche je redimentionne la fenetre avec ma souris le repaint est executer: voici un extrait du code :



public class Fenetre extends JFrame implements ActionListener {

private JMenuBar menuBar;
private JMenu menu ;
private JMenuItem mi1, mi2;
private JPanel panel ;




public Fenetre() {
super("InterfaceCDP");
setTitle("Ma première fenêtre");
setSize(1000, 800);

menuBar = new JMenuBar();
menu = new JMenu("Generator");
menuBar.add(menu);

mi1 = new JMenuItem("Creation Cible");
mi1.addActionListener(this);
menu.add(mi1);

mi2 = new JMenuItem("Creation Prestation");
menu.add(mi2);

this.setJMenuBar(menuBar);

this.add(Default());


}

private JPanel Default() {

panel = new JPanel();
panel.setBackground(Color.white);
return panel;
}



public void actionPerformed(ActionEvent ev) {

if (ev.getSource() == mi1) {
this.remove(Default());
this.add(new CreateCible());
repaint();
}

}
}

==
public class CreateCible extends JPanel {

public CreateCible() {
super();
setBackground(Color.BLACK);

}

}


PS : est- ce la bonne facon de s'y prendre pour effectuer ce genre d'interface ???

merci d'avance

> MaEl <

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 août 2009 à 15:58
Salut,

Il faut redéfinir la méthode paintComponent de la clase JPanel afin de lui faire tracer ce que tu veux.
______________________________________
DarK Sidious
0
cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011
5 août 2009 à 16:39
Peux tu m'eclairicir un peu + stp ? Je la redefini comment?


MaEl
0
cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011
5 août 2009 à 16:43
merci d'avance

MaEl
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 août 2009 à 16:55
Salut,

En réecrivant la méthode de tête, ca donne :
public class TonPanel extends JPanel {
  public void paintComponent(Graphics g) {
    // ici tu mets tes méthodes de tracé
  }
}


Voir ma source d'ImagePanel pour un exemple concret.
______________________________________
DarK Sidious
0
Rejoignez-nous