OVH Cloud OVH Cloud

generer click sur un Button AWT

8 réponses
Avatar
luc2
je veux generer un click sur un Button AWT. le Button en question est
dans une applet, et c'est dans l'applet elle-meme que je voudrais
inciter la fonction actionPerformed du Button a s'executer.

comment faire ?

je precise que je veux faire cela en me fatiguant le moins possible.
donc, 'pas question de faire ma propre classe Button, ou de faire
quelque chose de trop long.

8 réponses

Avatar
demmer
luc2 wrote in message news:<407c634d$1$17507$...
je veux generer un click sur un Button AWT. le Button en question est
dans une applet, et c'est dans l'applet elle-meme que je voudrais
inciter la fonction actionPerformed du Button a s'executer.

comment faire ?

je precise que je veux faire cela en me fatiguant le moins possible.
donc, 'pas question de faire ma propre classe Button, ou de faire
quelque chose de trop long.



Salut,

j'espère avoir bien compris ce que tu demandes !! Donc si j'ai bien
compris, tu peux faire appel à une "classe interne anonyme"; voilà un
exemple avec un JButton:

//------------------------------------------------------------------------------

JButton bouton = new JButton("Le bouton");
bouton.addActionListener(
new ActionListener(){
public void actionPerformed( ActionEvent e){
if( e.getSource()==bouton)
JOptionPane.showMessageDialog( null,"Vous avez appuyez
sur "Le bouton" ");
}
}
);

//------------------------------------------------------------------------------

ou sinon, tu fais implémenter ton applet de l'interface
ActionListener, et tu réécris la méthode actionPerformed( dans le
corps de l'applet bien-sûr).

Etait-ce bien cela que tu demandais ?

Avatar
luc2
On 14 Apr 2004 00:12:10 -0700, oskar wrote:

je veux generer un click sur un Button AWT. le Button en question est
dans une applet, et c'est dans l'applet elle-meme que je voudrais
inciter la fonction actionPerformed du Button a s'executer.

comment faire ?

je precise que je veux faire cela en me fatiguant le moins possible.
donc, 'pas question de faire ma propre classe Button, ou de faire
quelque chose de trop long.


j'espère avoir bien compris ce que tu demandes !!


malheureusement non. par "generer un click sur un Button", je voulais
dire que je voulais faire COMME SI quelqu'un avait appuye sur le Button
(alors que personne n'appuie dessus en fait). la generation de ce
"click" provoquera l'execution de la fonction actionPerformed.

exemple, je veux faire quelque chose du genre :

monButton.click(); // c'est le programme qui appuie sur le bouton, et
pas l'utilisateur.


Avatar
oliv
luc2 wrote:

c'est le programme qui appuie sur le bouton, et pas l'utilisateur.


Robot

--
oliv

Avatar
luc2
On Wed, 14 Apr 2004 22:59:15 +0200, oliv wrote:

c'est le programme qui appuie sur le bouton, et pas l'utilisateur.


Robot


d'apres la doc de Robot, il faudrait que je determine les coordonnees de
mon bouton, que je genere le deplacement de la souris vers ces
cooordonnees, et que je genere le click. or, dans ma question
originelle, j'ai bien precise que je ne voulais pas me casser la tete.
je veux une solution simple. celle-la n'est pas assez pratique pour moi.


Avatar
oliv
luc2 wrote:
je veux une solution simple. celle-la n'est pas assez pratique pour moi.
Eh ben, on's'frait preskengueuler, en plus...


Sous-traite, la programmation c'est chiant.

--
oliv

Avatar
Real Gagnon
monButton.click(); // c'est le programme qui appuie sur le bouton, et
pas l'utilisateur.


Si il s'agit de button alors il faut un ActionListener attache au bouton
et par programmation, on genere le ActionEvent :

ActionEvent ae =
new ActionEvent((Object)b1, ActionEvent.ACTION_PERFORMED, "");
myButton.dispatchEvent(ae);
//ou bien
// Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(ae);

Avec Swing, c'est plus simple car il y une methode doClick() :

myJButton.doClick();

en bonus avec Swing, il y un effet visuel sur le JButton a l'execution du
doClick().

Bye.
--
Real Gagnon from Quebec, Canada
* Looking for Java or PB snippets ? Visit Real's How-to
* http://www.rgagnon.com/howto.html

Avatar
luc2
On Thu, 15 Apr 2004 03:05:57 GMT, Real Gagnon
wrote:

monButton.click(); // c'est le programme qui appuie sur le bouton, et
pas l'utilisateur.


Si il s'agit de button alors il faut un ActionListener attache au bouton
et par programmation, on genere le ActionEvent :

ActionEvent ae =
new ActionEvent((Object)b1, ActionEvent.ACTION_PERFORMED, "");
myButton.dispatchEvent(ae);


question : b1 = myButton ?

en tout cas, j'ai fait comme si b1 etait myButton, et ca marche. merci
pour ton aide. j'avais cherche la reponse sur tous les liens de google
et sur tous les newsgroups, mais je n'ai pas reussi a trouver la
reponse. je pensais avoir colle un newsgroup de plus, mais grace a toi,
la reputation du newsgroup est sauve, et s'il t'arrivait malheur un
jour, nous penserions longtemps a toi, et a ton courage.

a bientot.

rappel : il reste quand-meme 1 question : b1 = myButton ? c'est juste
pour etre sur que je demande.


Avatar
Real Gagnon
rappel : il reste quand-meme 1 question : b1 = myButton ? c'est juste
pour etre sur que je demande.


Oui.


--
Real Gagnon from Quebec, Canada
* Looking for Java or PB snippets ? Visit Real's How-to
* http://www.rgagnon.com/howto.html