Originariamente inviato da valerio65
Nella documentazione c'è questo quando non si vuole far nulla alla pressione del tasto

codice:
Action doNothing = new AbstractAction() {
    public void actionPerformed(ActionEvent e) {
        //do nothing
    }
};
component.getInputMap().put(KeyStroke.getKeyStroke("F2"),
                            "doNothing");
component.getActionMap().put("doNothing",
                             doNothing);
ma, questo non lo vorrei mettere nel metodo main, ma in una classe del package dove risiedono tutti gli algoritmi degli avvenimenti degli eventi, e non posso farlo siccome per richiamarlo l'oggetto devo prima crearlo e definire il metodo actionPerformed...
Vuoi ad esempio chiamare il metodo algoritmoX in seguito alla pressione di un tasto?
Una cosa del genere:

codice:
public class MyClass ... {

  private ClasseConAlgoritmi cca:
  private Action doAlgoritmoX;

  public MyClass(final ClasseConAlgoritmi  cca) {
    doAlgoritmoX = new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
            cca.algoritmoX():
        }
     };
  }

  ... setter/getter   
}

...

public class MyOtherClass ... {

   private MyClass mc;
   ...

   private void init() {
    component.getInputMap().put(KeyStroke.getKeyStroke("F2"),  "doAlgoritmoXAction");
    component.getActionMap().put("doAlgoritmoXAction", mc.getDoAlgoritmoX());
   }

}
Non ho compilato, ho scritto di getto ma come scheletro mi pare ok