Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    207

    [JAVA] eventi in una JCOMBOBOX

    Come faccio ad eseguire un'azione ogni volta che digito un carattere in una jcombobox resa editabile?? Il mio scopo è quello di selezionare nella combobox all'aggiunta di ogni carattere l'ITEM più simile alla parola digitata.
    QUINDI LA COSA PIU' IMPORTANTE E' CATTURARE GLI EVENTI (DIGITAZIONE) SULLA JCOMBOBOX

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Beh... per catturare gli eventi di digitazione sulla JComboBox è necessario associargli un KeyListener:
    codice:
    JComboBox jcb = new JComboBox();
    ...
    jcb.addKeyListener( new KeyAdapter() {
       public void keyTyped(KeyEvent ke) {
          pescaParola();
       }
    });
    ...
    private void pescaParole() {
       String txt = jcb.getText();
       ... // Lavoro tuo!!
    }
    I puntini con il commento "Lavoro tuo" stanno ad indicare il codice che devi scrivere tu per "selezionare" l'item che maggiormente assomiglia a quanto già digitato. Quello che l'utente ha già digitato è nella variabile txt.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    207
    Ho provato il codice che mi hai postato ma non mi funziona.
    Al posto della funzione ho messo una semplice System.out.println("QUALCOSA"); ma quando digito nella JComboBox non mi stampa nulla.
    Devo settare qualcos'altro nella combobox?????
    la cosa mi e' oscura....

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    207
    ho fatto un po' di prove e se non setto la combobox EDITABLE con
    jcb.setEditable(true);
    allora il tuo codice mi funziona e quando premo un pulsante sopra la combobox mi da' l'evento.Pero' cosi' non posso sapere cosa ho scritto.
    Perche' con la comboBox editabile non funziona??????

  5. #5
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao se non sbaglio per fare quello che vuoi fare devi fare:

    JComboBox com = new JComboBox();
    com.getEditor().addKeyListener();
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Effettivamente non avevo provato il codice... JComboBox è non è un oggetto semplice, ma composto. Credo che la soluzione proposta da Angelo sia esatta.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Originariamente inviato da Angelo1974
    Ciao se non sbaglio per fare quello che vuoi fare devi fare:

    JComboBox com = new JComboBox();
    com.getEditor().addKeyListener();
    Ho lo stesso problema di colui che ha aperto il topic, però questa soluzione non compila nemmeno... dunque come si fa ad eseguire un metodo ad ogni pressione di un tasto su una jComboBox editabile?

  8. #8
    Ciao.. Guardate che avete sbagliato sezione Oo

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