Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-02-2008, 16:05   #1
Drakar Rain
Junior Member
 
Iscritto dal: Dec 2007
Messaggi: 16
[JAVA] Pulsanti disabilitati rispondono lo stesso agli eventi

Salve a tutti, avrei un problema.
Sto facendo un lavoro in java e mi succede una cosa nuova.
I pulsanti disabilitati rispondono comunque all'evento clic del mouse. Non so se rispondono anche ad altro, ma a quello sicuro.
Ho cercato un pò in giro ma non ho trovato niente, qualcuno saprebbe aiutarmi?

Grazie mille. Ciao
Drakar Rain è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2008, 16:30   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Drakar Rain Guarda i messaggi
I pulsanti disabilitati rispondono comunque all'evento clic del mouse.
Ma non è una cosa "strana" o un "baco", se è questo che stavi pensando.

MouseEvent è un evento "low-level" e non centra il fatto che hai a che fare con un pulsante, anche disabilitato. Quello che è sicuro è che se il pulsante è disabilitato, certamente non invia l'evento ActionEvent agli ActionListener. Perché è proprio ActionListener il listener che devi usare per "sentire" l'azione sul pulsante!
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2008, 16:34   #3
Drakar Rain
Junior Member
 
Iscritto dal: Dec 2007
Messaggi: 16
scusa ma non ho capito.
Quindi, come evento per azionare il button, cosa devo utizzare invece di MouseClicked?
Drakar Rain è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2008, 17:12   #4
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2790
http://java.sun.com/j2se/1.4.2/docs/...nListener.html
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 08:49   #5
PaVi90
Bannato
 
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
Riuppo la discussione perchè mi capita lo stesso inconveniente. In pratica se scrivo l'istruzione MioPulsante.setEnabled(false) il pulsante si disabilita ma, cliccandolo, comunque fa ciò che deve fare quando è abilitato... come disabilitare all'utente il pulsante??
Premetto che sono agli albori della programmazione visuale in java... in due giorni ho imparato i rudimenti delle GUI partendo da meno di zero
PaVi90 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 09:01   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2790
Devi usare il Listener che ho linkato nel mio post precedente, il motivo l'ha spiegato andbin più su
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 09:16   #7
PaVi90
Bannato
 
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Devi usare il Listener che ho linkato nel mio post precedente, il motivo l'ha spiegato andbin più su
Non ho capito bene cosa fa.... in pratica una volta che cro l'object listener "ActionListener", nel codice cosa devo scrivere per disabilitare il pulsante??
Grazie ancora
PaVi90 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 09:59   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da PaVi90 Guarda i messaggi
Non ho capito bene cosa fa.... in pratica una volta che cro l'object listener "ActionListener", nel codice cosa devo scrivere per disabilitare il pulsante??
Codice:
button.addActionListener (new ActionListener ()
{
    public void actionPerformed (ActionEvent e)
    {
        // .... il pulsante è stato cliccato ....
    }
});
Il fatto è che actionPerformed viene invocato quando si clicca sul pulsante ma solo se il pulsante è abilitato. Ed è questo il modo corretto per ricevere la notifica del click di un pulsante.

Non a "basso livello" con MouseListener.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 10:07   #9
PaVi90
Bannato
 
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
OK, ora mi è chiaro... ma qual è l'istruzione specifica (il metodo) per disabilitare il pulsante?
PaVi90 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 10:13   #10
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da PaVi90 Guarda i messaggi
OK, ora mi è chiaro... ma qual è l'istruzione specifica (il metodo) per disabilitare il pulsante?
In generale per tutti i componenti:
setEnabled(boolean enabled)
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 10:20   #11
PaVi90
Bannato
 
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
Quote:
Originariamente inviato da andbin Guarda i messaggi
In generale per tutti i componenti:
setEnabled(boolean enabled)
Il problema è che vorrei che il pulsante si disabilitasse dopo che viene cliccato una volta; tuttavia, almeno nell'ActionListener, funziona (cioè si disabilita dal clic) però continua a sortire l'effetto dovuto al clic del mouse sul pulsante in questione... quindi rimuovendo l'ascoltatore ActionListener e trasportando tutto il codice in ActionPerformed dovrebbe funzionarmi correttamente il metodo setEnabled?
PaVi90 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 10:44   #12
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da PaVi90 Guarda i messaggi
Il problema è che vorrei che il pulsante si disabilitasse dopo che viene cliccato una volta; tuttavia, almeno nell'ActionListener, funziona (cioè si disabilita dal clic) però continua a sortire l'effetto dovuto al clic del mouse sul pulsante in questione... quindi rimuovendo l'ascoltatore ActionListener e trasportando tutto il codice in ActionPerformed dovrebbe funzionarmi correttamente il metodo setEnabled?
Se nel actionPerformed() disabiliti il pulsante con setEnabled(false), il pulsante verrà disabilitato e actionPerformed() non verrà più chiamato se clicchi sul pulsante finché non lo riabiliti successivamente (da qualche altra parte o a seguito di qualcos'altro).
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2008, 11:08   #13
PaVi90
Bannato
 
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
Quote:
Originariamente inviato da andbin Guarda i messaggi
Se nel actionPerformed() disabiliti il pulsante con setEnabled(false), il pulsante verrà disabilitato e actionPerformed() non verrà più chiamato se clicchi sul pulsante finché non lo riabiliti successivamente (da qualche altra parte o a seguito di qualcos'altro).
Perfetto; invece nell'ActionListener tutto ciò non avveniva, vero? Per questo il pulsante, anche se apparentemente disabilitato, continuava a fungere?

EDIT: funziona tutto benissimo; grazie per i consigli!!

Ultima modifica di PaVi90 : 17-02-2008 alle 13:15.
PaVi90 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Salesforce fa all in sull'IA agentica. A...
Dopo le elettriche, anche le ibride: l'E...
Android 17, facciamo il punto: quali sma...
Ci vediamo a mezzanotte: si scatena il P...
AryStinger, il botnet che infetta i rout...
Morto Bobby Prince, il compositore che d...
L'Europa punta su batterie che durano qu...
Elon Musk prova a sfidare NVIDIA sui dat...
Norvegia, stop all'IA generativa alle el...
Schermo privacy anche per Xiaomi 18 Pro:...
Morto in un incidente aereo Claude Guill...
Apple Watch Series 11 GPS + Cellular a 5...
Il settore videoludico non sente la cris...
Kobo Clara Colour in offerta a 138,51€: ...
Qualcomm potrebbe lanciare 6 versioni de...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v