ehochedez
Messages postés9Date d'inscriptionsamedi 22 août 2009StatutMembreDernière intervention 3 septembre 2009
-
22 août 2009 à 17:40
ehochedez
Messages postés9Date d'inscriptionsamedi 22 août 2009StatutMembreDernière intervention 3 septembre 2009
-
22 août 2009 à 23:58
J'ai plusieurs boutons dans une page et j'aimerais qu'ils envoient vers des pages différentes en économisant des lignes de code.
class GoPage implements ActionListener{
public void actionPerformed(ActionEvent e) {
String str = ((JButton)e.getSource()).getText();
str nvFen = new str();
dispose();
}
}
Tous les boutons ont bien sur un .addActionListener(new GoPage());
Evidemment ce code ne marche pas, je ne sais pas comment me servir du nom du bouton pour ouvrir quand on clique dessus un nouvel objet d'une classe qui correspond au nom du bouton.
Si par exemple on clique sur le bouton "Page1" (avec le texte "Page1" dessus) alors la variable str devrait prendre la valeur "Page1" et ensuite on créerait une instance de la classe Ppage1" qui s'appellerait nvFen..
C'est un peu farfelu comme idée je sais mais y a-t-il possibilité de la faire marcher ou alors avez vous une alternative?
Quand vous avez 30 boutons sur une fenêtre en direction de 30 fenêtres différentes faut-il utiliser 30 fois
-----------------------------------------------------------
class GoPage implements ActionListener{
public void actionPerformed(ActionEvent e) {
page vers laquelle se diriger
}
}
-----------------------------------------------------------
??
Il n'y a pas de système plus simples comme dans d'autre langages (liens hypertextes..)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 22 août 2009 à 20:21
Salut,
Il te suffit de récupèrer la source de l'événement :
class GoPage implements ActionListener{
public void actionPerformed(ActionEvent e) {
JComponent button = e.getSource();
if ("toto".equals(button.getName()) {
// clic sur le bouton toto
} else if ("titi".equals(button.getName()) {
// clic sur le bouton titi
}
}
}
______________________________________
DarK Sidious
public void actionPerformed(ActionEvent ae) {
// Pour trouver la source de l'action:
JButton boutonCliqué = (JButton) ae.getSource();
// Pour obtenir le libellé du bouton:
String libDuBoutonCliqué =
boutonCliqué.getText();
....
...........