NeT0n
Messages postés28Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention 5 mai 2009
-
13 avril 2006 à 10:11
NeT0n
Messages postés28Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention 5 mai 2009
-
13 avril 2006 à 14:19
Bonjour,
Mon problème se situe au niveau de l'affichage. Au lancement de mon programme, j'appel le constructeur de class, qui s'occupe de la taille de la fenêtre et la rend visible, et j'appel une fonction qui contient tout ce que je veux afficher. Jusque là tout fonctionne :) tout s'affiche correctement.
Cependant j'ai un bouton qui lorsqu'on clique dessus est censé afficher autre chose. Je pourrai faire un new Affichage2 par exemple mais ça m'ouvrirai une autre fenetre ce qui n'est pas très performant (surtout quand on en a beaucoup). Alors dans l'évenement du bouton j'ai mit removeAll(); setVisible (false); setVisible(true); (Les setVisible pour effacer tout) donc du coup je me retrouve avec une fenetre vide (il a gardé la couleur du background quand même) mais à partir de là je n'arrive pas à réafficher quelque chose dans cette meme fenêtre :(
Taranael
Messages postés54Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention21 juin 20071 13 avril 2006 à 14:12
Bon j'ai finalement réussi à en venir à bout !
En fait faut que tu fasses getContentPane().removeAll() et non pas removeAll() en fait sinon tu dégages le ContentPane avec !
Et pour mon soucis de réaffichage un pack() ça marche très bien ^^
L'ordinateur fait toujours ce qu'on lui demande !
Le problème c'est qu'il ne comprend pas ce qu'on lui demande ...
JPanel aPanel = new JPanel();
aPanel .setLayout(new GridLayout(1,3,200,20));
Valider = new JButton (">Valider<");
Valider.setBackground(couleurFond);
Valider.addActionListener(
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
removeAll();
setVisible(false);
setVisible(true);
// ici j'ai essayé d'appeler une autre fonction qui fait à peu près la même chose que celle-là
}
});
cs_ducheseb
Messages postés344Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention23 juin 20069 13 avril 2006 à 12:05
Qu'attends-tu avec ces 3 lignes?
removeAll();
setVisible(false);
setVisible(true);
Pour moi tu supprimmes tous les composants puis tu fais disparaître la fenêtre et tu la fais réapparaître et c'est tous...
Si tu veux voir d'autres composants, il faut que tu fasses des ajouts de composants. Ton setVisible false puis true ne sert à rien...c'est comme ci tu faisait un repaint() d'une surface vide.
"A game is a series of interesting choices." Sid Meier
Vous n’avez pas trouvé la réponse que vous recherchez ?
ça permet d'enlever tout les composants, en faisant juste ça, ça ne les enlève pas graphiquement, c'est pouquoi après on enleve et on remet la fenetre, Comme ça on se retrouve avec une fenetre vide dans laquel j'aimerai rejouter d'autre panel, composants...Mais le probleme c'est que ça n'affiche rien
liste est une JComboBox... Quand ce morceau de code s'execute dans un actionPerformed rien ne bouge et faut que je redimmensionne la fenêtre pour que ça s'affiche vraiment.
A la place de repaint j'ai essayé de mettre update aussi sans résultat ...
L'ordinateur fait toujours ce qu'on lui demande !
Le problème c'est qu'il ne comprend pas ce qu'on lui demande ...