Dessiner triangle

Résolu
Jah73
Messages postés
8
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
19 avril 2012
- 19 avril 2012 à 12:38
Jah73
Messages postés
8
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
19 avril 2012
- 19 avril 2012 à 15:24
Bonjour à tous

Je développe une application et j'ai besoin d'aide.

En gros, je fais choisir à l'utilisateur un .bin via un JFileChooser et s'il y a dans le même dossier un .root, qu'il m'affiche un triangle vert pour dire que le fichier est présent

Pour l'instant je voudrais qu'il affiche le triangle vert dès que je clique sur "ok" du JFileChooser.

J'ai crée une classe TraceTriangle que j’appelle dans if d'une autre classe :

if (retour == JFileChooser.APPROVE_OPTION){ //Si "ok"

pathFile.setText(chooser.getSelectedFile().getAbsolutePath());
TraceTriangle t = new TraceTriangle();
}

Mais je dois mal m'y prendre :/

Pouvez-vous m'aider à tracer ce fichu triangle ?

Merci d'avance,

Jah
A voir également:

9 réponses

cormandyr
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
12
19 avril 2012 à 13:49
ptet un soucis de rafraichissement, si tu appelles invalidate() juste avant de sortir du if?
ou si tu changes la taille de ta fenetre (via la souris, pas via le code ^^)?
3
Jah73
Messages postés
8
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
19 avril 2012

19 avril 2012 à 15:24
J'ai fait : pan.updateUI(); et ca fonctionne !

Merci beaucoup pour ton aide cormandyr !
3
Jah73
Messages postés
8
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
19 avril 2012

19 avril 2012 à 12:43
En fait même en faisant :

if (retour == JFileChooser.APPROVE_OPTION){ //Si "ok"

pathFile.setText(chooser.getSelectedFile().getAbsolutePath());
JTextField tf = new JTextField("TEST JTEXTFIELD");
tf.setPreferredSize(new Dimension(550, 550));
this.pan.add(tf);
}
Ca ne m'affiche rien
0
cormandyr
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
12
19 avril 2012 à 13:06
Salut,

quand tu dis que ça ne t'affiche rien, tu veux dire qu'il ne passe pas dans ton if??
si tu mets un sortie console, rien ne sera mis en console?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jah73
Messages postés
8
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
19 avril 2012

19 avril 2012 à 13:44
Salut cormandyr,

Si si, il passe bien dans ma boucle mais je n'arrive pas a afficher un Jtextfield ou autre en +
0
Jah73
Messages postés
8
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
19 avril 2012

19 avril 2012 à 15:04
Merci pour tes réponses cormandyr !!

Alors si je fais :

if (retour == JFileChooser.APPROVE_OPTION){ //Si "ok"
pathFile.setText(chooser.getSelectedFile().getAbsolutePath());
JTextField tf = new JTextField("TEST JTEXTFIELD");
tf.setPreferredSize(new Dimension(550, 550));
this.pan.add(tf);
invalidate();

}

Rien ne se passe;

Par contre, si je redimensionne ma fenêtre, mon TextField apparaît !!

Une idée pour rafraîchir mon JPanel ?
0
cormandyr
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
12
19 avril 2012 à 15:13
pan.invalidate()...

this.pan.add(tf);

qu'est-ce qui est représenté par le this?
0
Jah73
Messages postés
8
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
19 avril 2012

19 avril 2012 à 15:19
Désolé, j'avais fait un copié collé du constructeur

Ca ne marche toujours pas

if (retour == JFileChooser.APPROVE_OPTION){ //Si "ok"
pathFile.setText(chooser.getSelectedFile().getAbsolutePath());
JTextField tf = new JTextField("TEST JTEXTFIELD");
tf.setPreferredSize(new Dimension(550, 550));
pan.add(tf);
pan.invalidate();
}


Par contre, si je redimensionne, il apparaît :/
0
cormandyr
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
12
19 avril 2012 à 15:23
il reste pas des tonnes de solutions avec les info qu'on a...

pan.setvisible(true);
ou mais c'est assez lourd :
pan.repaint();
0