|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2008
Messaggi: 46
|
[JAVA] GUI: invocare la pressione di un JButton da un altro evento
Salve, a volte mi capita di dover eseguire una porzione di codice che normalmente eseguirei alla pressione di un pulsante JButton anche in altre circostanze, è possibile richiamare la pressione di un pulsante automaticamente dopo aver invocato un altro evento (che ne so, il riempimento di un campo di testo, o qualsiasi altra cosa..)...? E' possibile fare ciò? Lo so che è una soluzione poco elegante ma a volte mi tornerebbe estremamente utile..
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 309
|
penso che puoi farlo chiamando sul JButton il metodo doClick(), però devi avere un riferimento al JButton
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 334
|
Quote:
In realtà il tuo problema è inverso: quando programmi converrebbe che inglobassi il codice da eseguire più volte all'interno di una funzione determinata. Poi nell'action listener del JButton, controlli se si è verificato l'evento "pressione del mouse" e chiami la stessa funzione precedentemente scritta. In tal modo mantieni il codice più pulito e logico |
|
|
|
|
|
|
#4 | ||
|
Member
Iscritto dal: Jan 2008
Messaggi: 46
|
Quote:
Quote:
|
||
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
In realtà Il JButton lancia un evento "action event" e basta, lui direttamente non esegue nessuna azione. Chi esegue una azione, è un'altro: l'ascoltatore registrato su quel bottone capace di ascoltare l'evento "action event". Nota la parola azione: è direttamete legata all'ascoltatore, non al bottone. Per farla breve due o più controlli possono "condividere" la stessa azione (l'ascoltatore viene registrato su entrambi i controlli). Ad esempio è il caso di una stessa azione che si può eseguire sia tramite un bottone su una toolbar che una voce in un menu. Awt/Swing mette già a disposizione del programmatore questa astrazione del concetto di "azione" che viene fatta scattare tramite un'interazione utente-GUI tramite l'interfaccia javax.swing.Action e la classe astratta javax.swing.AbstractAction. Se ti serve solo il fatto di poter slegare l'azione in quanto "blocco di codice da eseguire" dal bottone, è sufficiente implementare l'azione come un ActionLister e, tramite un riferimento ad esso, da una parte registrarlo sul bottone e dall'altra passarlo alla classe/metodo che dovrà invocare l'azione a tempo debito. Questo è un metodo, ne esistono anche altri. Qui invece trovi un tutorial sulle Action, che fornisco qualcosa di più: http://download.oracle.com/javase/tu...sc/action.html
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:41.




















