Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fcorsa Visualizza il messaggio
    Ho letto che un problema di questo tipo è dato dal Look And Feel di windows che imposta il focus.
    Mentre il tradizione di java no.
    Sì, è vero. Con il L&F predefinito (il "Metal") i pulsanti reagiscono solo allo "spazio" e non al "invio".

    Quote Originariamente inviata da fcorsa Visualizza il messaggio
    Vorrei disabilitare il tasto invio in modo che l'utente deve per forza scegliere cliccando col mouse.
    come posso risolvere ?
    La cosa più semplice è un KeyListener in cui si fa "consumare" l'evento se è per la pressione di INVIO:

    codice:
    tuoPulsante.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                e.consume();
            }
        }
    });
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  2. #2
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sì, è vero. Con il L&F predefinito (il "Metal") i pulsanti reagiscono solo allo "spazio" e non al "invio".


    La cosa più semplice è un KeyListener in cui si fa "consumare" l'evento se è per la pressione di INVIO:

    codice:
    tuoPulsante.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                e.consume();
            }
        }
    });
    Grazie Andbin,

    funziona alla grande.

    Avevo provato con il KeyListener che all'invio faceva un System.out.println("Niente");
    ma comunque faceva invio sul tasto col focus.
    Non sapevo di e.consume(); che fa consumare l'evento.
    Anche se non ho capito il perchè si deve consumare se avevo inserito un operazione nel keypressed.

    ciao grazie ancora

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 © 2026 vBulletin Solutions, Inc. All rights reserved.