OVH Cloud OVH Cloud

boutton qui ne s'affiche pas

4 réponses
Avatar
MERIGON Olivier
Bonjour
J'ai un probleme avec ce bout de code:

public class TestIHM extends JFrame {

public TestIHM() {
super("TEST-IHM");
show();
setSize(50, 50);
getContentPane().add(new JButton("HOOOOOO"));
getContentPane().repaint();
}

public static void main(String[] args) {
new TestIHM();
}

}

Le button HOOOOO ne s'affiche pas a moins que je redimensionne la fenetre.
Je bosse avec jdk 1.4.1.
Quelqu'un peut m'expliquer ce que je fai de mal ?
Merci d'avance....

4 réponses

Avatar
Herve
Bonjour,

Il suffit de positionner la méthode show()
après l'association du Jbutton au conteneur.

getContentPane().add(new JButton("HOOOOOO"));
show();

++++
H.


"MERIGON Olivier" a écrit dans le message de
news:3f8813a9$0$27591$
Bonjour
J'ai un probleme avec ce bout de code:

public class TestIHM extends JFrame {

public TestIHM() {
super("TEST-IHM");
show();
setSize(50, 50);
getContentPane().add(new JButton("HOOOOOO"));
getContentPane().repaint();
}

public static void main(String[] args) {
new TestIHM();
}

}

Le button HOOOOO ne s'affiche pas a moins que je redimensionne la fenetre.
Je bosse avec jdk 1.4.1.
Quelqu'un peut m'expliquer ce que je fai de mal ?
Merci d'avance....






Avatar
MERIGON Olivier
Merci pour votre réponse.
Mais en fait j'ai application avec un contenu dynamique dans le contentPane,
ou j'y charge des formulaires comme ça (donc apres le show()):

getContentPane().removeAll();
getContentPane().add(myForm);

Et je ne veux pas utiliser pack() car si ma fenetre est maximiser je veux
qu'elle le reste.
Donc ma question est:
Comment forcer le contentPane a se dessiner ?
J'ai tout esayer : repaint(), invalidate().... et rien ne redessine le
content pane... Le seul mayen c'est de redimensionner la fenetre, ce qui
n'est pas acceptable...




"Herve" a écrit dans le message de news:
bm96dj$alg$
Bonjour,

Il suffit de positionner la méthode show()
après l'association du Jbutton au conteneur.

getContentPane().add(new JButton("HOOOOOO"));
show();

++++
H.


"MERIGON Olivier" a écrit dans le message de
news:3f8813a9$0$27591$
Bonjour
J'ai un probleme avec ce bout de code:

public class TestIHM extends JFrame {

public TestIHM() {
super("TEST-IHM");
show();
setSize(50, 50);
getContentPane().add(new JButton("HOOOOOO"));
getContentPane().repaint();
}

public static void main(String[] args) {
new TestIHM();
}

}

Le button HOOOOO ne s'affiche pas a moins que je redimensionne la
fenetre.


Je bosse avec jdk 1.4.1.
Quelqu'un peut m'expliquer ce que je fai de mal ?
Merci d'avance....










Avatar
simane
salut...

j'ai essaye ton petit programme et en effet l'appel a removeAll() semble
empecher ta frame de redessiner
les composants que tu rajoutes....

la seule solution qui fonctionne (parmi celles que j'ai essayees...) c'est
de supprimer nominativement ton composant et de faire un appel a
validate()...

en gros

JButton btn = new JButton("HOOO");

getContentPane().add(btn);

remove(btn);

getContentPane().add(new JButton(HAHAHA));

validate();

Desole j'ai rien trouve d'autre...

"MERIGON Olivier" a écrit dans le message de
news:3f884dfd$0$10428$
Merci pour votre réponse.
Mais en fait j'ai application avec un contenu dynamique dans le
contentPane,

ou j'y charge des formulaires comme ça (donc apres le show()):

getContentPane().removeAll();
getContentPane().add(myForm);

Et je ne veux pas utiliser pack() car si ma fenetre est maximiser je veux
qu'elle le reste.
Donc ma question est:
Comment forcer le contentPane a se dessiner ?
J'ai tout esayer : repaint(), invalidate().... et rien ne redessine le
content pane... fenetre, ce qui
n'est pas acceptable...Le seul mayen c'est de redimensionner la




"Herve" a écrit dans le message de news:
bm96dj$alg$
Bonjour,

Il suffit de positionner la méthode show()
après l'association du Jbutton au conteneur.

getContentPane().add(new JButton("HOOOOOO"));
show();

++++
H.


"MERIGON Olivier" a écrit dans le message de
news:3f8813a9$0$27591$
Bonjour
J'ai un probleme avec ce bout de code:

public class TestIHM extends JFrame {

public TestIHM() {
super("TEST-IHM");
show();
setSize(50, 50);
getContentPane().add(new JButton("HOOOOOO"));
getContentPane().repaint();
}

public static void main(String[] args) {
new TestIHM();
}

}

Le button HOOOOO ne s'affiche pas a moins que je redimensionne la
fenetre.


Je bosse avec jdk 1.4.1.
Quelqu'un peut m'expliquer ce que je fai de mal ?
Merci d'avance....














Avatar
MERIGON Olivier
SwingUtilities.updateComponentTreeUI(tonComposant)





"simane" a écrit dans le message de news:
bmdv55$l07$

salut...

j'ai essaye ton petit programme et en effet l'appel a removeAll() semble
empecher ta frame de redessiner
les composants que tu rajoutes....

la seule solution qui fonctionne (parmi celles que j'ai essayees...) c'est
de supprimer nominativement ton composant et de faire un appel a
validate()...

en gros

JButton btn = new JButton("HOOO");

getContentPane().add(btn);

remove(btn);

getContentPane().add(new JButton(HAHAHA));

validate();

Desole j'ai rien trouve d'autre...

"MERIGON Olivier" a écrit dans le message de
news:3f884dfd$0$10428$
Merci pour votre réponse.
Mais en fait j'ai application avec un contenu dynamique dans le
contentPane,

ou j'y charge des formulaires comme ça (donc apres le show()):

getContentPane().removeAll();
getContentPane().add(myForm);

Et je ne veux pas utiliser pack() car si ma fenetre est maximiser je
veux


qu'elle le reste.
Donc ma question est:
Comment forcer le contentPane a se dessiner ?
J'ai tout esayer : repaint(), invalidate().... et rien ne redessine le
content pane... fenetre, ce qui
n'est pas acceptable...Le seul mayen c'est de redimensionner la




"Herve" a écrit dans le message de news:
bm96dj$alg$
Bonjour,

Il suffit de positionner la méthode show()
après l'association du Jbutton au conteneur.

getContentPane().add(new JButton("HOOOOOO"));
show();

++++
H.


"MERIGON Olivier" a écrit dans le message de
news:3f8813a9$0$27591$
Bonjour
J'ai un probleme avec ce bout de code:

public class TestIHM extends JFrame {

public TestIHM() {
super("TEST-IHM");
show();
setSize(50, 50);
getContentPane().add(new JButton("HOOOOOO"));
getContentPane().repaint();
}

public static void main(String[] args) {
new TestIHM();
}

}

Le button HOOOOO ne s'affiche pas a moins que je redimensionne la
fenetre.


Je bosse avec jdk 1.4.1.
Quelqu'un peut m'expliquer ce que je fai de mal ?
Merci d'avance....