Pb affichage JLabel dans une JDialog

patjavafr Messages postés 4 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 30 septembre 2005 - 28 sept. 2005 à 18:05
serwol Messages postés 1 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 13 octobre 2005 - 13 oct. 2005 à 12:22
Bonjour à tous,
je souhaite simplement afficher un texte dans une boîte de dialogue. Cette dernière est créée suite à une action d'un menu d'une JFrame.
En faisant un new de la classe suivante, la fenêtre s'affiche avec la bonne taille, le bon titre... En fait tout est bon sauf que le JLabel n'apparaît pas.

public class jdlgFenAttente extends JDialog
{
public jdlgFenAttente(JFrame PrincipalFrame)
{
super(PrincipalFrame);
setTitle("Information");

setLocation(300,300);
JPanel MyPanel = new JPanel(new BorderLayout());
JLabel MyLabel = new JLabel("Test fenêtre non modale");

getContentPane().setLayout(new BorderLayout());
getContentPane().add(MyPanel,BorderLayout.CENTER);
MyPanel.add(MyLabel,BorderLayout.CENTER);

setModal(false);
setSize(800,300);

setVisible(true);
}
}

Est-ce que quelqu'un peut m'aider ?
Merci par avance.

8 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
29 sept. 2005 à 07:01
LES CONVENTIONS ............

autrement je voit pas!! ;-(

GodConan
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
29 sept. 2005 à 07:55
2 solutions :
soit MyPanel.add(MyLabel,BorderLayout.CENTER);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(MyPanel,BorderLayout.CENTER);

soit juste un :
getContentPane().add(MyLabel,BorderLayout.CENTER);

Voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
patjavafr Messages postés 4 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 30 septembre 2005
29 sept. 2005 à 09:25
Merci de tenter de m'aider. J'ai une question qui risque de vous sembler stupide.
Qu'est-ce que les conventions ?
Désolé je ne suis pas un expert java mais plutôt un novice.

Merci par avance.
0
patjavafr Messages postés 4 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 30 septembre 2005
29 sept. 2005 à 10:05
J'ai oublié de préciser que j'utilise jdk 1.5. Est-ce que ça peut venir de là ?

Merci
0

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

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
29 sept. 2005 à 17:54
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

voila pour les conventions ;o) ....

maintenant quoi que tu ai comme prob ce n ai surment pas pour cause le JDK Tiger ,o)
mais bon essai de faire un set layout pour ton panel (au cas ou !!! moi je le fait toujour comme ca )

GL
++

GodConan
0
patjavafr Messages postés 4 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 30 septembre 2005
30 sept. 2005 à 09:41
Merci pour ton aide GodConan. Je vais décrire plus précisément mon appli et peut-être que tu pourras trouver plus facilement.
Au lancement de mon appli, une JFrame s'ouvre et lance un thread qui effectue un travail lourd. Lorsque je clique sur le menu approprié la fameuse boîte de dialogue s'ouvre. Le thread est appelé en boucle. J'ai effectué plusieurs essais :
- si la JDialog est modale, le JLabel apparaît alors que si elle ne l'est pas le JLabel n'apparaît pas
- si je mets en commentaire le code du thread le JLabel apparaît correctement.

J'ai du mal à comprendre que toutes les caractéristiques propres à la JDialog soient traités correctement mais que son contenu ne soit pas MAJ. Est-ce qu'il est possible que le thread monopolise les ressources et ne laisse jamais la main à la JDialog pour se rafraîchir ? Comment laisser la main à la JDialog ?
Je pensais que tout ce qui était fait dans le constructeur de la JDialog était pris en compte et affiché en même temps lors du setvisible.

Encore merci pour votre aide
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
1 oct. 2005 à 08:51
ce qui est possible c est que ton thread utilise le processus de ta jdialogue
essai de le lancer alilleur que dans le constructeur dans la partie appellante par exemple .. pour voir la difference ...

GL
GodConan
0
serwol Messages postés 1 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 13 octobre 2005
13 oct. 2005 à 12:22
t'as essayé de faire un pack();
0
Rejoignez-nous