Problème pour lancer une action

Problème pour lancer une action - Java - Programmation

Marsh Posté le 20-09-2005 à 10:48:07    

Bonjour à tout le monde
 
Voilà, j'ai un petit problème avec mes "Actions" en Java.
J'ai 2 classes. Ma première s'occupe de gérer les KeyListener et d'envoyer l'entier correspondant à une touche. L'autre receptionne cet entier et lance en fonction de celui-ci une abstractAction.
Mon problème est comment lancer cet abstractAction
 

Code :
  1. public class ProgPrinc extends jFrame{
  2. Affichage a = new Affichage();
  3. ...
  4. public ProgPrinc(){
  5.  this.addKeyListener(new KeyListener(){
  6.   public void keyPressed(KeyEvent e) {
  7.    a.actionClavier(e.getKeyCode());
  8.   }
  9.   public void keyReleased(KeyEvent e){}
  10.   public void keyTyped(KeyEvent e){}
  11.  });
  12. ...
  13. }


Code :
  1. public class Affichage extends jPanel{
  2. private AbstractAction demarrerAction = new AbstractAction(){
  3.  public void actionPerformed (ActionEvent e){
  4.   ...
  5.  }
  6. };
  7. ...
  8. public void actionClavier (int i){
  9. if (i==68) //Correspond à la touche "d"
  10.  //TODO
  11.  //lancer l'abstractAction "demarrerAction"
  12. else if (i==65)
  13.  ...
  14. }
  15. }


Message édité par folsh le 20-09-2005 à 10:49:33
Reply

Marsh Posté le 20-09-2005 à 10:48:07   

Reply

Marsh Posté le 20-09-2005 à 18:23:39    

C'est tellement bete que ca?

Reply

Marsh Posté le 25-09-2005 à 14:51:13    

up

Reply

Marsh Posté le 27-09-2005 à 15:12:58    

folsh a écrit :

C'est tellement bete que ca?


 
C'est surtout tordu !
 
Expliques un peu la finalité de la chose ...


---------------
get amaroK plugin
Reply

Marsh Posté le 28-09-2005 à 08:33:45    

Tu ne peux pas lancer une AbstractAction, puisque c'est une classe abstraite (oui, comme son nom l'indique), donc tout sauf un truc qu'on peut lancer.
Une classe abstraite est une "base" sur laquelle on se repose pour redéfinir des méthodes, des constructeurs.
 
Si tu veux appeller une fonction, ou lancer un constructeur, pourquoi ne pas le faire dans actionClavier ?
 
Et tant qu'on y est, pourquoi faire le contrôle du CLAVIER dans une classe qui s'appelle AFFICHAGE ? Ca sentirait moins le caca avec un switch dans keyPressed...


Message édité par rnoizet le 28-09-2005 à 08:41:34
Reply

Marsh Posté le 01-10-2005 à 08:40:11    

J'ai déjà essayé de le faire dans ma classe Affichage, ms ca ne fonctionne pas. Je vais qd meme retenter le coup. je te tiens au courant ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed