Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1

    JEditText con inpuverifier

    Attraverso una jTextField gli utenti inseriscono un codice cliente . Se il codice � esistente il focus passa al successivo swing, in caso contrario il metodo inputverifier impedir� di abbandonare la jetextfiled. Vorrei offrire all'utente la possibilit�, attraverso un pulsante, di aprire un' altra finestra dove � contenuto l'elenco di tutti i clienti e cercare quello desiderato. Utilizzando il metodo verifyinputwhenfocustarget riesco a cliccare sul pulsante anche se il codice cliente � errato, per� cos� riesco a proseguire negli altri jtextfield perdendo cos� il controllo sul campo codice.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    doppio post, scusate
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da saverix80 Visualizza il messaggio
    Utilizzando il metodo verifyinputwhenfocustarget riesco a cliccare sul pulsante anche se il codice cliente � errato, per� cos� riesco a proseguire negli altri jtextfield perdendo cos� il controllo sul campo codice.
    Grazie
    Anche se quanto hai scritto non è chiarissimo (colpa forse anche di problemi di encoding qui sul forum), credo di aver capito il problema che hai posto.
    Se su un componente fai setVerifyInputWhenFocusTarget(false), esso può ricevere il focus anche se il InputVerifier rifiuta l'input facendo restituire false dal verify.
    La questione (che è così e non puoi cambiarla) è che se il focus passa ad un altro componente, poi tutto torna normale, nel senso che la navigazione verso altri componenti non è più ristretta (se non è il componente stesso a cui si passa che ha un altro InputVerifier).

    Ma tutto questo in realtà a te potrebbe anche (forse) non importare. C'è una cosa che forse ti è sfuggita. Se il InputVerifier rifiuta l'input di un JTextField, anche se un pulsante non può ricevere il focus, può lo stesso scatenare un action event! Perlomeno tramite mouse. Tramite tastiera chiaramente no, visto che non riceverebbe il focus.

    Quindi se ti basta il action event da mouse ... non ci sono problemi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Grazie per la risposta. Provando con un Action comunque non mi consente di cliccare sul pulsante!!!!

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da saverix80 Visualizza il messaggio
    Provando con un Action comunque non mi consente di cliccare sul pulsante!!!!
    Certo che funziona ... io comunque parlavo di ActionListener.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Certo che funziona ... io comunque parlavo di ActionListener.
    Si, mi riferivo ad un actionListener, ma non appena clicco sul pulsante rimanda il focus sul jtextField.

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da saverix80 Visualizza il messaggio
    ma non appena clicco sul pulsante rimanda il focus sul jtextField.
    Ma infatti è così, ed è giusto che lo sia. Il InputVerifier serve proprio per impedire di trasferire il focus ad altri componenti nella stessa finestra. Ma NON impedisce la gestione di altri eventi, causati ad esempio da azioni con il mouse.

    Quindi se a seguito di un click con mouse su un pulsante che non può ricevere il focus vuoi far aprire una finestra/dialog, lo puoi fare senza problemi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Ho capito dove stava il problema. Nel caso l'inputVerifier restituisse un valore false avevo previsto l'apertura di una messageDialog. Ecco perchè non riuscivo a cliccare sul pulsante.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.