Actualisation d'une JFrame

Signaler
Messages postés
46
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
17 juillet 2003
-
Messages postés
54
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
4 décembre 2005
-
Salut, je met un JTextArea dans une JFrame, que je rempli, et après je lui fait dispose dans sa gueule, et après je réouvre la JFrame et je refait new TextArea, et je la rempli avec autre chose, mais il y a toujours le premier contenu, et le deuxième se met derrière!!! Quelle est la méthode pour virer la premier JTextArea ???
A voir également:

8 réponses

Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
salut,
as tu fait un repaint apres ?
sinon, tu peux faire un remove depuis ta frame pour l enlever a la main mais dans tout les cas il faudra faire un repaint
Duss
Messages postés
46
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
17 juillet 2003

-------------------------------
Réponse au message :
-------------------------------

> salut,
> as tu fait un repaint apres ?
> sinon, tu peux faire un remove depuis ta frame pour l enlever a la main mais dans tout les cas il faudra faire un repaint
> Duss
Messages postés
46
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
17 juillet 2003

-------------------------------
Réponse au message :
-------------------------------

>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > salut,
> > as tu fait un repaint apres ?
> > sinon, tu peux faire un remove depuis ta frame pour l enlever a la main mais dans tout les cas il faudra faire un repaint
> > Duss
>

Un repaint après quoi?? je fais un dispose et je recré une fenêtre, ce n'est plus la même en fait, mais la JTextArea (la première) ne se barre pas, c'est elle qu'il faut virer, mais le remove ça marche pas sur une JTextArea
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
ben ton jtextarea, tu le met dans le constructeur de ta frame ?
a ce moment la c est normal qu il soit la quand tu la recrée !!
Montre ton code stp
Duss
Messages postés
46
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
17 juillet 2003

Voici mon code:

public class Edico extends JFrame {

static Edico edic = new Edico();

public Edico() {

super("Editeur de code......Not Finished yet");
setSize(300,200);

}

//OUVRE LA FENETRE ET LE FICHIER DEDANS

public void draw(String Agent,String nomfic) {

String code = "";
Panel p = new Panel();
p.setLayout(new BorderLayout());

Button close = new Button("Close");
Panel buttonPanel = new Panel();
buttonPanel.add(close);
p.add(buttonPanel,BorderLayout.SOUTH);

// Construction du nom du fichier
nomfic = nomfic.replace('.','\\');
nomfic ="..\\src\" + nomfic + "\\architecture\\agent\" + Agent + ".java";

// Lecture dans le fichier
// ici on lit les donnée et on les mets dans code, mais je te l'épargne...

JTextArea espace = new JTextArea();
espace.setText(code);
Panel espacePanel = new Panel ();
espacePanel.add(espace);

p.add(espacePanel);
edic.getContentPane().add(p);
edic.pack();
edic.show();

close.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
edic.dispose();
}});
}


}

dans un autre fichier, dans l'ActionPerformed, je fait un edic = new Edico

puis edic.draw(....,....)
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
salut,
static Edico edic = new Edico();
pourquoi faire ca ?????
surtout en static en plus
Duss
Messages postés
46
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
17 juillet 2003

-------------------------------
Réponse au message :
-------------------------------

> salut,
> static Edico edic = new Edico();
> pourquoi faire ca ?????
> surtout en static en plus
> Duss

Oui mais si je n'instancie pas la classe Edico je peut pas faire de dispose (this prend alors en compte le ActionListener) et si je ne met pas static ben ça marche pô...
Messages postés
54
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
4 décembre 2005

Bon j'ai pas tout compris mais pour reactualiser une frame t'as la methode JFrame.validate(); ou JFrame.revalidate();
si c'est un composant style un panel tu le vide ettu rajoute les nouveaux composants dedant:
//premier ajout
JPanel panelTexte = new JPanel();
panelTexte.add(monComposant);
.
.
.
// changement de composant dns panelTexte
panelTexte.removeAll();
panelTexte.add(monNewComposant);
validate();