J'ai un panneau sur mon cadre .et en cliquant sur un bouton, je veux supprimer l'ancien panneau et faire l'autre panneau et ajouter ce panneau à mon cadre. (Aussi j'utilise netbeans) aider à moi que comment puis-je faire cela grâcemettre à jour un panneau
Répondre
JFrame frame = new JFrame();
final JPanel origPanel = new JPanel();
frame.add(origPanel, BorderLayout.CENTER);
MouseListener ml = new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
// Mouse clicked on panel so remove existing panel and add a new one.
frame.remove(origPanel);
frame.add(createNewPanel(), BorderLayout.CENTER);
// Revalidate frame to cause it to layout the new panel correctly.
frame.revalidate();
// Stop listening to origPanel (prevent dangling reference).
origPanel.removeMouseListener(this);
}
}
origPanel.addMouseListener(ml);
merci J'ai écrit votre code dans mon cadre et j'utilise "ceci" au lieu de "cadre", est-ce correct ?? aussi je ne peux pas écrire this.revalidate(). S'il vous plaît aidez-moi merci – Johanna
Je savais que vous reviendriez pour l'alimentation cuillère en essayant de corriger votre erreur de compilation. Ne peux-tu pas penser toi-même? Ne savez-vous pas comment utiliser l'API pour rechercher des méthodes valides et les objets auxquels elles s'appliquent? – camickr
Puis-je remplacer revalidate() par repaint() – Johanna
de cette façon:
final JFrame frame = new JFrame();
frame.setSize(200, 200);
final JPanel panelA = new JPanel();
final JPanel panelB = new JPanel();
JButton button = new JButton("Switch");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.remove(panelA);
frame.add(panelB);
frame.show();
}
});
JLabel label = new JLabel("This is panel B. Panel A is gone!");
panelB.add(label);
panelA.add(button);
frame.add(panelB);
frame.add(panelA);
frame.show();
Je ne peux pas écrire this.show !!!! – Johanna
Je veux le faire à la course time.thanks – Johanna
Tu ferais mieux de vraiment accepter la réponse de Adamski, il semble qu'il est désespéré pour les points (visant 10K?) car il est le seul qui continue d'offrir de l'aide même si son ab maintenant 15 messages depuis que vous avez pris la peine d'accepter une réponse. D'ailleurs, le code affiché ne fonctionnera pas, mais j'espère que vous apprendrez au moins les concepts présentés et que vous comprendrez le problème vous-même. Vous pouvez également lire les tutoriels auxquels vous avez été redirigé plusieurs fois. – camickr
Pourquoi le code ne fonctionne-t-il pas? – Adamski