Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    26

    [JAVA]Modificare automaticamente JComboBox

    Ciao ragazzi ho un JComboBox di un'applicazione che sto modificando con il quale seleziono dei valori e salvo il contenuto di quello che seleziono.

    In questo modo nella classe AgenteGui(crea il jcombobox)
    codice:
    cmbCombo0 = new JComboBox();
    	 cmbCombo0.setEnabled(false);
    	 gbcSel.gridx=0;
    	 gbcSel.gridy=0;
    	 gbcSel.fill = GridBagConstraints.BOTH;
    	 gbcSel.ipadx=100;
    	 gbSel.setConstraints(cmbCombo0,gbcSel);
    	 pnSel.add(cmbCombo0);
    Metodi actionPerformed
    codice:
    else if(e.getActionCommand()=="comboBoxChanged"){
    		String chosenAgent=(String)cmbCombo0.getSelectedItem();
    		GuiEvent ge=new GuiEvent(this,myAgent.SELECT);
    		ge.addParameter(chosenAgent);
    		ge.addParameter(oldAgent);
    		myAgent.postGuiEvent(ge);
    		oldAgent=null;
    		oldAgent=new String(chosenAgent);
    	}
    Poi nella classe agente ho il metodo che richiama questa funzione:

    codice:
    else if(command==SELECT){
    			String chosenAgent=(String)g.getParameter(0);
    			String oldAgent=(String)g.getParameter(1);
    			selezione.add(0, chosenAgent);
    			selezione.add(1, oldAgent);
    			saveAgentButtons(oldAgent);
    			changeAgent(chosenAgent);
    			loadAgentButtons(chosenAgent);
    		}
    Ora vi chiedo è possibile attraverso qualche comando andare a modificare il valore dentro il Jcombobox?

    Cioe se ho due valori ad esempio:
    Agente1
    Agente2

    e seleziono col mouse Agente1 posso con qualche codice andare a modificare il jcombobox in modo da far visualizzare Agente2?

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    a parte che le actioncommand sono stringhe e in java le stringhe si confrontano tramite equals e non tramite == come hai fatto

    codice:
    if(e.getActionCommand().equals("comboBoxChanged"))
    poi cosa è che vuoi fare in dettaglio?
    un unico combo box e seleziando agente1 devi visualizzare agente2? non ho capito scusa

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    26
    Ciao grazie per il consiglio ma l'applicazione non è mia, sto ampliando un progetto esistente.

    Ho questo combobox dove io seleziono manualmente un agente e dopo scelto ci sono svariati comandi che si possono assegnare all'agente.

    Adesso io ho bisogno di far modificare automaticamente questo combobox perchè la selezione dell'agente non è piu manuale ma è automatizzata.
    Quindi mentre prima io sceglievo l'agente e poi gli davo dei comandi adesso c'è un altro agente che fa questo e ho il bisogno (per come è sviluppata l'applicazione esistente) di andare a variare il valore all'interno del combobox.

    Spero di essere stato più chiaro.

    Grazie mille per l'aiuto

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    modificare un progetto esistente non vuole dire che quello che si è scritto è corretto (e diciamo che te lo ha dimostrato quell'istruzione) che ti ho corretto.
    poi guarda le API di combobox, via codice hai una
    codice:
    combo.setSelectedItem(item);
    che fa al caso tuo.
    Puoi specificare un item desiderato oppure l'index (di interesse).
    Un occhio alle API di JComboBox lo darei cmq

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    26
    Ciao valia, si infatti grazie al tuo commento stavo correggendo quelle stringhe di codice.

    Ho letto le api ed in effetti fa al caso mio, solo che non sono molto pratico con le gui allora ti chiedo visto che io ho Agente e AgenteGui e nell'agente sono in possesso del item desiderato come faccio a far cambiare l'item nella Gui?

    Nell'agente io prendo le informazioni in questo modo:

    codice:
    public void onGuiEvent(GuiEvent g){ 	
    command=g.getType(); 		
    String parameters[]=new String[2]; 	
    if(command==SELECT){
    			String chosenAgent=(String)g.getParameter(0);
    			String oldAgent=(String)g.getParameter(1);
    			selezione.add(0, chosenAgent);
    			selezione.add(1, oldAgent);
    			saveAgentButtons(oldAgent);
    			changeAgent(chosenAgent);
    			loadAgentButtons(chosenAgent);
    		}
    Come posso utilizzare il metodo set?

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.