Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178

    Selezionare un elemento della comobox [JAVA]

    Ho creato una comboBox di tre elementi

    codice:
    int a = 5;
    int b = 6;
    String c = "Sono la c";
    		
    comboBox.addItem(a);
    comboBox.addItem(b);
    comboBox.addItem(c);
    Ora voglio fare in modo che ognuna delle opzioni scelte dall'utente faccia un'azione diversa. Se io faccio:

    codice:
    comboBox.addActionListener( new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){
    	    		frame.setTitle("PROVA");
    	    	}
    	    });
    in questo caso io aggiungo l'azione a tutti gli elementi della comboBox. Volevo sapere come si fa a selezionare un elemento della combobox ?

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    Cosi funziona, ma non so se è il procedimento corretto

    codice:
    comboBox.addActionListener( new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    t = (Object) comboBox.getSelectedItem() ;
                    
                    if(t == a)
                        frame.setTitle("Hai premuto 0");
                    else if(t == b)
                        frame.setTitle("Hai premuto 1");
                    else if(t == c)
                        frame.setTitle("Hai premuto 2");
                }
            });
    Ultima modifica di Bombonera; 19-05-2015 a 13:28

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Sposto nel forum dedicato al linguaggio Java.

    Conunque, sì, è il procedimento "corretto": si prende l'item selezionato dalla JComboBox ( getSelectedItem() ) oppure l'indice dell'item selezionato ( getSelectedIndex() ) e si fa quel che si deve fare in funzione di quell'item/indice.



    Ciao.
    Ultima modifica di LeleFT; 19-05-2015 a 13:32
    "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

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    Grazie mille.

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,281
    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    codice:
                    t = (Object) comboBox.getSelectedItem() ;
                    
                    if(t == a)
    In generale no, non va bene, tienilo presente. Perché stai confrontando dei reference e questo generalmente (salvo casi particolari) non va affatto bene.

    Nel tuo caso ti va bene, ma solo perché l'oggetto String è sempre lo stesso e i valori a/b sono int con valore piccolo, quindi l'auto-boxing sia nel addItem sia nel confronto fa sì che il int venga boxato ottenendo lo stesso oggetto Integer.

    Se non hai chiari questi aspetti, evita il confronto dei reference.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Puoi fare semplicemente cosi:


    if(jComboBox1.getSelectedItem().equals("Item1"))
    {
    //Cosa Fare
    }
    else if(jComboBox1.getSelectedItem().equals("Item2"))
    {
    //Cosa Fare
    }
    Spero di esserti stato d'aiuto, un bacione

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.