Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Aiuto Ascoltatore

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339

    Aiuto Ascoltatore

    Ciao a tutti.

    Dovrei scrivere un ascoltatore che "ascolta" quando viene cliccato ovvero selezionato un item di una JComboBox

    Sicuramente credo ci vorrà un ascoltatore implementa MouseListener;



    qualcuno mi aiuta su come scrivere questo ascoltatore?

  2. #2
    a dir la verità solitamente si usa un ItemListener...

    potremmo anche aiutarti ad implementarlo, cosa molto banale, a patto che tu ci dica cosa dovresti fare.
    Inizia a dare un'occhiata alla guida della sun ed alla documentazione...
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Devo fare questo :

    Allora Io ho una JComboBox che contiene una serie di item.

    Devo scrivere un ascoltatore che invochi un determinato metodo quando seleziono un determinato item del box cioè quando clicco la freccetta per aprire il box e poi clicco sull'item che mi interessa.

  4. #4
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Prometti di non usare mai più il termine "ascoltatore" che non si può proprio sentire e ti aiuto

    Allora, creare il tuo listener è molto semplice:

    1) Ti serve una classe che faccia da listener, supponiamo sia la principale:
    codice:
    public class MiaClasse implements ActionListener
    2) Implementi il metodo actionPerformed così:
    codice:
    public void actionPerformed(ActionEvent e) {
            //... se hai più azioni prima capisci se l'evento si riferisce alla combobox ...
    
            JComboBox cb = (JComboBox)e.getSource(); //ottieni la combobox
            String selected = (String)cb.getSelectedItem(); //ottieni l'oggetto selezionato
            faiQualcosa(); //usi il tuo metodo
        }
    3)Aggiungi il listener dopo aver creato la combobox:
    codice:
    comboList.addActionListener(this);
    Cmq è tutto spiegato qui: http://docs.oracle.com/javase/tutori.../combobox.html con tanto di esempio funzionante

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Come hai fatto tu il listener viene invocato anche quando si modifica il JComboBox (Cioè quando inserisco un altro elemento nel JComboBox)
    Fidati....provato su eclipse.

    Io voglio un ascoltatore che invochi un determinato metodo SOLAMENTE quando clicco sul JComboBox e seleziono un determinato elemento.

    Mi aiuti?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da Markus85
    Fidati....provato su eclipse.
    Non che questo dia una qualche autorevolezza alle prove, eh...

    Io voglio un ascoltatore che invochi un determinato metodo SOLAMENTE quando clicco sul JComboBox e seleziono un determinato elemento.

    Mi aiuti?
    Devi agire esattamente come ti ha già suggerito Dark867, prestando però attenzione ad un fatto: l'esecuzione del metodo deve avvenire solo in un caso particolare, ovvero quando la tendina del JComboBox è visibile.


    codice:
    public void actionPerformed(ActionEvent ae) {
       ...   // Altre eventuali condizioni
       JComboBox src = (JComboBox) ae.getSource();
       if ( src.isPopupVisible() ) {
          // L'evento è stato scatenato da un clic sugli elementi della lista
          // e non dall'INVIO sull'editor kit
          doYourStuff();
       }
    }
    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
    Ma perché tu a run-time inserisci altri valori nel JComboBox che non devono venir presi?
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Ok Lele. Lo provo e ti faccio sapere.

    Schumy2000 , spiegati meglio.

    Ciaooooo

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da Markus85
    Fidati....provato su eclipse.

    grazie mi hai rallegrato la giornata.

    Detto questo, tornando seri, se ho capito bene quello che tu necessiti non è tanto un ActionListener, ma quanto un ItemListener, cioè qualcosa che venga invocato quando selezioni un elemento della combo....ho capito bene il problema? Trovi sia più adatto?

    In ogni caso guardando la documentazione dovresti trovare queste info (uguale anche a quello che ti ha suggerito LeleFt )
    RTFM Read That F*** Manual!!!

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.