[Applet] Modifier dynamiquement la mise en page
Bonjour,
Je dispose d'une applet minimale composée de 2 boutons. Le gestionnaire de mise en page est un GridLayout disposé en 3 lignes: la 3e ligne est donc pour l'instant inutilisée. J'aimerais cependant qu'un clic sur un des boutons y insère un panel que j'aurais préalablement initialisé. J'ai donc crée la classe suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
import java.awt.*;
import java.awt.event.*;
public class AppletExemple extends java.applet.Applet implements ActionListener {
Panel p1, p2;
public void init() {
setLayout(new GridLayout(3,1));
Button b1 = new Button("Afficher p1");
b1.addActionListener(this);
Button b2 = new Button("Afficher p2");
b2.addActionListener(this);
add(b1);
add(b2);
// Construit les panels sans les insérer dans le layout
p1 = new Panel();
p1.setBackground(Color.blue);
p2 = new Panel();
p2.setBackground(Color.red);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "Afficher p1") {
add(p1);
} else if (e.getActionCommand() == "Afficher p2") {
add(p2);
}
}
} |
Le problème est qu'aucun changement ne s'affiche à l'écran.
J'ai l'impression qu'il doit sans doute manquer une méthode de rafraichissement de l'affichage, mais je ne sais pas laquelle...
Quelqu'un peut-il me suggérer une solution ?
Merci
Re: [Applet] Modifier dynamiquement la mise en page
Salut, quand tu fais ça :
Citation:
Envoyé par Amnesiak
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "Afficher p1") {
add(p1);
} else if (e.getActionCommand() == "Afficher p2") {
add(p2);
}
}
[/code]
rajoute p2.setVisible(false) quand tu add(p1) , rajoute p1.setVisible(false) quand tu add(p2).
Re: [Applet] Modifier dynamiquement la mise en page
Citation:
Envoyé par Amnesiak
Code:
1 2 3 4 5 6 7 8 9 10
|
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "Afficher p1") {
add(p1);
} else if (e.getActionCommand() == "Afficher p2") {
add(p2);
}
}
} |
essaie
Code:
1 2 3 4 5
| if ("Afficher p1".equals(e.getActionCommand())) {
add(p1);
} else if ("Afficher p2".equals(e.getActionCommand())) {
add(p2);
} |
:?