FormKeyPressed non funziona

di il
6 risposte

FormKeyPressed non funziona

  private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
        System.out.println("IMPOSTAZIONI.formKeyPressed()");        // TODO add your handling code here:
    }                               


Non entra proprio nella funzione, perché?

6 Risposte

  • Re: FormKeyPressed non funziona

    Quello non è un metodo del core standard di Java... da quel che so è un metodo che viene autogenerato da NetBeans quando si usano i tool dell'ambiente visuale (pessima idea usarlo!).

    Quindi, bisogna vedere se quel metodo è stato auto-generato da NetBeans (il quale dovrà aver generato anche il codice standard per l'aggiunta del KeyListener) o altro.

    Quelle 3 righe da sole ci dicono solo che tu hai scritto un metodo e che ti aspetti che qualcuno lo invochi senza saperne nulla.

    Per farla breve: i componenti hanno un metodo che si chiama addKeyListener() che si aspetta di ricevere un'istanza di KeyListener. KeyListener è un'interfaccia che, tra le altre cose, possiede un metodo keyPressed(KeyEvent evt). Questo metodo viene invocato dal framework quando viene premuto un tasto su un componente sul quale è stato registrato il Listener.
  • Re: FormKeyPressed non funziona

    Ho provato a creare un'altra classe GUI nello stesso programme e lì funziona senza alcun problema.
    Deve funzionare su tutta la finestra, non su dei componenti specifici.
  • Re: FormKeyPressed non funziona

    p0ll0_ ha scritto:


    Deve funzionare su tutta la finestra, non su dei componenti specifici.
    Un KeyListener generalmente non si registra su una finestra. La questione è che questi eventi arrivano al componente che ha il "focus".
    Quindi dovresti spiegare meglio cosa vuoi fare e perché.
  • Re: FormKeyPressed non funziona

    L'ho messo in tutti i componenti della GUI e adesso funziona. Grazie mille.
  • Re: FormKeyPressed non funziona

    p0ll0_ ha scritto:


    L'ho messo in tutti i componenti della GUI e adesso funziona. Grazie mille.
    Se vuoi fare qualcosa di più "generalizzato" con i tasti, ci sono altre strade: gli accelerator (dei menù), il key-binding e volendo ancora più "globale" (e "a monte") gli eventi del KeyboardFocusManager.

    Ma tutto dipende appunto da cosa vuoi fare ...
  • Re: FormKeyPressed non funziona

    Grazie mille della risposta.
Devi accedere o registrarti per scrivere nel forum
6 risposte