PDA

Visualizza la versione completa : Gestione pressione tasto F1 da tastiera


elly0909
08-06-2009, 16:17
Salve,
vorrei avere una dritta circa la gestione della pressione del tasto F1 da tastiera. In poche parole so che esiste un metodo appartenente al KeyListener...
provo ad apportare il seguente controllo:

if (key==KeyEvent.VK_F1){
System.out.println("Hai premuto F1 !");
}

Purtroppo però non accade nulla, sembra che la pressione su F1 sia del tutto non "sentita", a differenza invece della pressione su tutti gli altri pulsanti!

Qualcuno può aiutarmi?


Grazie

andbin
08-06-2009, 16:30
Originariamente inviato da elly0909
vorrei avere una dritta circa la gestione della pressione del tasto F1 da tastiera. In poche parole so che esiste un metodo appartenente al KeyListener...Sì ... ma innanzitutto bisogna vedere su quale componente hai registrato il KeyListener!! Perché ovviamente vale solo quando il focus è su quel componente!

Se vuoi qualcosa di più "globale" nel senso che possa valere all'interno di un frame indipendentemente da quale componente ha il focus .... allora non devi usare un KeyListener ma un apposito "key binding".

elly0909
08-06-2009, 16:32
L'ho inserito all'interno del metodo keyTyped()

andbin
08-06-2009, 17:26
Originariamente inviato da elly0909
L'ho inserito all'interno del metodo keyTyped() Ripeto: su quale componente hai registrato il KeyListener?? Se l'hai registrato per esempio su un JTextField ... beh, vale solo quando il focus è su questo!

elly0909
09-06-2009, 13:35
Non l'ho inserito in un metodo ben preciso.
In poche parole io devo fare apparire un pannello grafico se viene premuto il tasto F1!
E' possibile gestire una cosa del genere?

LeleFT
09-06-2009, 13:48
Originariamente inviato da elly0909
Non l'ho inserito in un metodo ben preciso.
In poche parole io devo fare apparire un pannello grafico se viene premuto il tasto F1!
E' possibile gestire una cosa del genere?

Il caso è uno solo: non sai come vengono gestite le interfacce grafiche in Java e di conseguenza gli eventi raccolti dal sistema.

Ti è stato chiesto per due volte su quale componente hai registrato il KeyListener e non solo non hai risposto, ma continui a dire di voler gestire il tasto F1 senza dire quale debba essere il componente attivo alla pressione... a questo punto credo di poter affermare con certezza che tu:

1) Non sai cos'è un componente
2) Non sai cos'è un KeyListener
3) Non sai come si registra un KeyListener su un componente.
4) Non sai a cosa servono tutte le cose suddette.

Non rimane altro che studiare per bene il capitolino che parla della gestione di un interfaccia grafica in Java sul proprio libro o documentarsi usando il tutorial della Sun. Senza questi pre-requisiti si fa poca, pochissima strada... anzi, si rimane fermi con le quattro frecce.


Ciao. :ciauz:

elly0909
09-06-2009, 13:52
Ma come ti permetti, io per lavoro mi occupo di grafica e non credo che tu possa rappresentare alcunchè per permettermi di giudicarmi! FORSE NON MI SONO SPIEGATO BENE MA LASCIO PERDERE PER CARITA'.. HO IDEA CHE CHI GESTISCE QUESTO SITO DOVREBBE REVISIONARE BENE GLI ARROGANTI CHE CI SONO NEI FORUM E DI CONSEGUEZA ELIMINARLI! MI HAI PRATICAMENTE DATO DELL'IGNORANTE SENZA CONOSCERMI E IO QUESTO NON LO ACCETTO! BADA A COME PARLI!

elly0909
09-06-2009, 13:53
Parlo forse arabo quando ti dico che non è presente alcun componente!!!!!!????
HO GIà UN'INTERFACCIA GRAFICA, OVVERO UN MENù. VORREI CHE PREMENDO IL TASTO F1 COMPAIA UN ALTRO MENU' DI AIUTO COME MEZZO DI SUPPORTO X L'UTENTE! è così incomprensibile per te? o forse hai bisogno tu delle tue "4 frecce"!

LeleFT
09-06-2009, 14:00
Innanzitutto calma e sangue fresco (come è scritto anche nel Regolamento).
In secondo luogo: puoi anche lavorare con la grafica, ma se non hai capito per ben due volte la domanda di andbin il significato è uno solo: non sai gestire i componenti grafici (che con la grafica non hanno proprio nulla a che vedere!) in Java.
In terzo luogo, se non hai nessun componente non puoi usare KeyListener e via dicendo (e questo, visto che lavori "con la grafica" dovresti saperlo benissimo).
In quarto luogo, andbin ti ha già detto che se non hai intenzione di focalizzare la pressione di un tasto su un particolare componente non puoi usare KeyListener e KeyEvent, ma devi registrare un apposito "key binding".

E torniamo al problema. Hai un'interfaccia grafica. Se hai un'interfaccia grafica dovresti sapere (visto che mi hai dato del presuntuoso!) che essa è composta di componenti. Ciascuno dei quali può ricevere separatamente gli eventi provenienti dalla tastiera. Su ciascuno di essi si può registrare un KeyListener (ma le sai ste cose? Io credo proprio di no!). Ciascun KeyListener può controllare quale tasto è stato premuto.

Dici di avere un menu: un menu è un componente. Al cui interno vengono aggiunte le voci, che sono a loro volte dei componenti. Lo vedi che la cosa non è così semplice, né così cristallina?


Originariamente inviato da elly0909
Parlo forse arabo quando ti dico che non è presente alcun componente!!!!!!????
No, non parli arabo. Dici solo una grandissima fesseria rispetto a tutto quello che hai detto dopo. E questo significa solo che non sai gestire le interfaccie grafiche. Non sono presuntuoso: dico quello che penso e lo penso in base ai fatti che ho davanti.


Ciao. :ciauz:

elly0909
09-06-2009, 14:06
Se mi appoggio ad un forum x chiedere aiuto su un qualcosa che non so è perchè non lo conosco no!????? Se avessi saputo usare bene il KeyListener non avrei mai scritto qui.. tutto ciò che mi interessava conoscere era sapere se ciò che volevo fare era fattibile! Il sangue Fresco io ce l'ho... ma forse vi credete così superiori da rendervi così altezzosialla prima richiesta d'aiuto! :ciapet: :ciapet: :ciapet: :ciapet:

Loading