Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Azione a tasto premuto o rilasciato
Forum - Java - Azione a tasto premuto o rilasciato

Pagine: [ 1 2 3 4 5 6 7 8 ] Precedente | Prossimo
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 13:01
Giovedì, 06/08/2009
ciao a tutti.....Ho un Frame.....con dei components....
praticamente  a tasto premuto(o rilasciato) devo gestire l'apertura di un Frame visualizzandomi il tasto premuto della tastiera !!
Ex:  premo f2  e si apre un Frame con la scritta Hai premuto il tasto f2...

Pikkolo problema....all'apertura del mio Frame  non e importante associare un evento keypressed o keyrelased al form(al Frame) perke non funziona(non accade nulla).....all'apertura deve essere registrata quell'azione...ossia  io  posso premere un tasto in un punto qualsiasi del Frame anche non clikkandoci sopra...perche se lo associo al Frame non avviene alcunchè visto che ho delle JTextField come components ed il cursore automaticamente si posizione li sopra...e non funziona....

come posso fare ?!!
Ps: sarebbe tipo un evento associato indefinito...
postatemi il source...

Ultima modifica effettuata da killer il 06/08/2009 alle 13:04
PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 14:22
Giovedì, 06/08/2009
prova ad aggiungere il listener a tutti i potenziali componenti che possono avere il focus.
così ovunque sia il focus l'evento  verrà scatenato.

PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 15:17
Giovedì, 06/08/2009
Ok...ma come faccio  a visualizzare  la scritta:  System.out.println("Il tasto premuto é: "+ ??!! );

che funzioni utilizzare per poter visualizzare qualsiasi tasto che  premo sulla tastiera !?

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 15:20
Giovedì, 06/08/2009
il tasto premuto viene passato dentro l'istanza del KeyEvent.

hai un tutorial qui:
http://java.sun.com/docs/books/tutorial/uiswing/events/key ...

PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 15:39
Giovedì, 06/08/2009
ciao allora..io utilizzo la GUI di netbeans per svuluppare applicazioni...e pratikamente
per associare un evento al click sul form  basta che mi posiziono con il cursore del mouse click destro esce una lista...scelgo la sezione events e clikko su keyRelased  e mi genera automatikamente l'evento

ossia:
private void formKeyReleased(java.awt.event.KeyEvent evt) {

}

bene...pero dentro a quel metodo, come faccio a visualizzare in una jLabel il tasto che ho premuto ?!!
non ho ancora capito...

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 15:48
Giovedì, 06/08/2009
uhm... comincio ad avere un dubbio: hai mai letto un libro su java?
cmq i passi da fare quando non si sa cosa usare sono questi:

- vedi il metodo che ti ha generato nb, vedi che come parametro passa un KeyEvent
- cerchi nella documentazione cosa offre un KeyEvent:
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/Key ...
- spulciando la documentazione trovi il metodo getKeyCode:
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/Key ...#getKeyCode()
- nella docmentazione vedi tutte le costanti che associano un keycode a un tasto e col confronto vedi quale tasto è.

se poi lo vuoi convertire in formato stringa, per inserirlo nella label, sempre nella documentazione si nota un getKeyText(int code):
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/Key ...#getKeyText(int)

A questo punto per modificare la label è sufficiente usare un setText sull'oggetto JLabel

Ultima modifica effettuata da netarrow il 06/08/2009 alle 15:49
PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 15:59
Giovedì, 06/08/2009
allora io ho provato in questa maniera gia da prima ....ma non funziona...

private void formKeyReleased(java.awt.event.KeyEvent evt){
    int cod=evt.getKeyCode();  
    String leggi=KeyEvent.getKeyText(cod);
    System.out.println("Il tasto premuto é: "+leggi);

}

Sui libri che ho di java non ce scritto niente di importante a riguardo...
come faccio ? quel sistema non funziona anche se e strano...

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 16:03
Giovedì, 06/08/2009
il componente a cui associ questo listener deve avere il focus.
ora è associato al form o al text field di cui parlavi che appena avviata prende il focus?

il fatto di non funzionare intendi che l'evento non viene neanche scatenato o che la printeln scrive qualcosa di sbagliato?

Ultima modifica effettuata da netarrow il 06/08/2009 alle 16:04
PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 16:18
Giovedì, 06/08/2009

l'evento non viene proprio scatenato....
e ovviamente la println non mi visualizza niente....come faccio ?!

Ultima modifica effettuata da killer il 06/08/2009 alle 16:44
PM Quote
Pagine: [ 1 2 3 4 5 6 7 8 ] Precedente | Prossimo