Bouton et appel à d'autres methodes

1492sylvain Messages postés 8 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 30 décembre 2005 - 29 déc. 2005 à 01:30
1492sylvain Messages postés 8 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 30 décembre 2005 - 29 déc. 2005 à 13:41
Bonjour à tous,

je suis en train de réaliser une interface graphique et je calle sur un problème depuis longtemps.

Lorsque j'appui sur un de mes boutons, je souhaite lancer une autre méthode.
voici mon code :

Action bouton = new AbstractAction(){
public void actionPerformed(ActionEvent evt){
autremethode();
}
};

Mais ca ne marche pas .... Javascript:Insert_Emoticon('/imgs2/smile_dissapprove.gif');

Si vous pouviez m'aider ...

Merci

Sylvain

10 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
29 déc. 2005 à 10:08
si t attache jamais l action a ton boutton ca risque pas de marcher !!!!
fais plutot :
JButton button = new JButton();
button.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent evt){
autreMethode();
}

});
0
1492sylvain Messages postés 8 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 30 décembre 2005
29 déc. 2005 à 10:59
Re,

je viens de tester ton con mais j'arrive pas à le compiler.

Voici l'erreur : " expected"

je ne comprends pas pourquoi ...
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
29 déc. 2005 à 11:34
remet l erreur en entier !!!
t as fais les bon import ???
ca compile chez moi !!!

import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

JButton button = new JButton();
button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent evt) {
//taMehtode
}

});
0
1492sylvain Messages postés 8 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 30 décembre 2005
29 déc. 2005 à 11:40
Désolé mais j'ai toujours la même erreur, mais en effet il me manqué l'import "javax".

Je vais essayer de faire autrement

Merci quand même.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
29 déc. 2005 à 11:42
ok fais comme tu veux,
mais pr info c est pas normal que ta classe compile pas !!(fais voir ton code !!)
et sinon pr info y a pas d autre moyen de capter un événement sur un boutton donc ca risque d etre du de faire autrement :)
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
29 déc. 2005 à 12:20
C'est normal que ça complie pas, il cherche la méthode que tu veux appeler dans la classe ActionListener et elle n'y existe pas

public void actionPerformed(ActionEvent e) {
TaClasse.this.taMethode();
}

gmi19oj19
0
1492sylvain Messages postés 8 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 30 décembre 2005
29 déc. 2005 à 12:47
Suis dsl, mais je n'arrive pas à mettre en oeuvre ... (débutant oblige)
est ce que quelqu'un aurait un bout de code avec un bouton qui appelle une méthode ?

Merci d'avance
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
29 déc. 2005 à 13:27
import javax.swing.*;
import java.awt.event.*;

public class TestJButton {

public TestJButton (){
JFrame f = new JFrame("TestJButton"); // cree une fenetre pour l'afichage
JButton b = new JButton("Bouton"); // le bouton
b.addActionListener(new ActionListener() { // ajoute un "ecouteur" au bouton
public void actionPerformed(ActionEvent e) {//methode appelée lors du click
TestJButton.this.action(); // appelle la methode action de la classe TestJButton. //necessaire car on se trouve dans un autre classe, qui est anonyme et qui
//implante la classe ActionListener
}
});
f.getContentPane().add(b) // ajoute le bouton à la fenetre
f.pack(); // "compile" la fenetre
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // pour quitter l'application
// en fermant la fenetre
f.setVisible(true); // affiche la fenetre
}

publiv void action() {
System.out.println("click");
}
}

J'ai commenté au possible, si il y a des trucs ue tu comprends pas j'te conseille d'aller jeter un coup d'oeil à la javadoc, c'est toujours utile.

J'precise que j'ai fait le code de tete, sans le compiler, y aura p'tet des conneries style faute de frappe^^ Et qules noms de variables sont censés etre explicites dans le cadre d'une appli^^

gmi19oj19
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
29 déc. 2005 à 13:30
Quel boulet, j'ai oublié le main >_<

Rajoute cette méthode :

public static void main(String[] args) {
TestJButton tjb = new TestJButton();
}

gmi19oj19
0
1492sylvain Messages postés 8 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 30 décembre 2005
29 déc. 2005 à 13:41
Merci beaucoup à toi !!!
ca marche nickel !!!!

juste pour le fun : faute de frappe "public void action ..." mais sinon rien à dire.

encore merci

Sylvain
0
Rejoignez-nous