Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    8
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Se puoi solo con stringhe ... ok. Comunque se nella combo "a" ci vanno i valori presenti nella combo "da" che sono agli indici successivi a quello selezionato, è banale:

    int indice = comboBoxDA.getSelectedIndex();

    poi:
    - azzeri la combo "a"
    - ciclo for: per tutti gli indici da indice+1 (incluso) fino al massimo possibile, prendi da combo "da" e aggiungi nella combo "a"

    intendi così?

    codice:
    comboBoxDA.addActionListener(new ActionListener(){
    			
    					public void actionPerformed(ActionEvent e) {
    					String DA=comboBoxDA.getSelectedItem().toString();
    					int indice=comboBoxDA.getSelectedIndex();
    					
    					for(int i=indice+1;i<interval.length;i++)
    					{
    						interval[i]=EstraiDati.EstraiRiga(i);
    					}
    					
    					add(comboBoxA);
    }			
    					
    				});

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da raffux3 Visualizza il messaggio
    intendi così?
    No. Intanto getSelectedItem() non credo ti serva in questo contesto.
    E non si vede cosa è interval (deduco un array ma neanche questo ti servirebbe).

    Una questione: le combobox le hai usate parametrizzate? Da Java 7, JComboBox è stato reso "generico", quindi ad esempio JComboBox<String>

    codice:
    int indice = comboBoxDA.getSelectedIndex();
    int count = comboBoxDA.getItemCount();
    
    // Svuota comboA
    
    for (int i = indice+1; i < count; i++) {
        String elem = comboBoxDA.getItemAt(i);
        // Aggiungi elem in comboA
    }

    Devi solo completare tu ... ma è proprio tutto lì.
    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
    Registrato dal
    Apr 2016
    Messaggi
    8
    Quote Originariamente inviata da andbin Visualizza il messaggio
    No. Intanto getSelectedItem() non credo ti serva in questo contesto.
    E non si vede cosa è interval (deduco un array ma neanche questo ti servirebbe).

    Una questione: le combobox le hai usate parametrizzate? Da Java 7, JComboBox è stato reso "generico", quindi ad esempio JComboBox<String>

    codice:
    int indice = comboBoxDA.getSelectedIndex();
    int count = comboBoxDA.getItemCount();
    
    // Svuota comboA
    
    for (int i = indice+1; i < count; i++) {
        String elem = comboBoxDA.getItemAt(i);
        // Aggiungi elem in comboA
    }

    Devi solo completare tu ... ma è proprio tutto lì.

    si è un array di stringhe fatto appunto dalle stringhe che devono finire dentro le combobox...

    comunque ho fatto ciò ma il risultato non cambia:


    codice:
    comboBoxDA.addActionListener(new ActionListener(){
                
                        public void actionPerformed(ActionEvent e) {
                            int indice = comboBoxDA.getSelectedIndex();
                            int count = comboBoxDA.getItemCount();
    
    
                            // Svuota comboA
    
    
                            for (int i = indice+1; i < count; i++) {
                                String elem = (String) comboBoxDA.getItemAt(i);
                                // Aggiungi elem in comboA
                               comboBoxA.addItem(elem);
                                
                            }
                        }

    Rettifico: sbagliavo io nel dare già i parametri alla comboboxA..ora funzionicchia, cioè mi prende automaticamente il valore successivo, solo che se dovessi ricambiare il valore in comboDA, nella comboA mi appaiono tutti.

    Edit..rimuovendo tutti gli elementi nella comboA funziona, ecco la soluzione

    codice:
    comboBoxDA.addActionListener(new ActionListener(){
    			
    					@SuppressWarnings("deprecation")
    					public void actionPerformed(ActionEvent e) {
    						int indice = comboBoxDA.getSelectedIndex();
    						int count = comboBoxDA.getItemCount();
    						
    						// Svuota comboA
    						
    							comboBoxA.enable();
    							for (int i = indice+1; i < count; i++) {
    								comboBoxA.removeAllItems();
    							}
    							
    						
    						for (int i = indice+1; i < count; i++) {
    						    String elem = (String) comboBoxDA.getItemAt(i);
    						    // Aggiungi elem in comboA
    						   comboBoxA.addItem(elem);
    						    
    						}
    					}			
    					
    				});
    Grazie mille
    Ultima modifica di raffux3; 12-04-2018 a 15:31

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.