Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142

    [JAVA] Aggiornamento jComboBox senza che l'item cambi

    In una cella di una jtable ho un jComboBox non editabile, da cui posso solo scegliere uno dei valori già presenti.
    Quando è vuoto, ci clicco sopra, compare la popup, scelgo il mio Item e automaticamente il combobox si "seleziona" su quel valore e tutte le altre colonne della tabella vengono aggiornate in base a quel valore.
    Se ci riclicco, ho lo stesso comportamento appena descritto se cambio selezione, altrimenti se riclicco su quello che era precedentemente selezionato mi rimane tutto fermo ( il combo selezionato e la freccetta a lato visibile ) ed eventuali cambiamenti non vengono caricati.
    Per sbloccare la situazione devo cliccare con il mouse su una cella qualsiasi.

    Qualcuno sà come forzare un aggiornamento se la selezione non cambia? E soprattutto perchè funziona in questo modo?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Posta il codice che gestisce l'evento
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    In realtà io ancora non lo gestisco.. volevo sapere proprio se esiste un listener per gestirlo.

    Io implemento solo il processFocusEvent per la popup:

    codice:
        public static JComboBox comboBox2 = new JComboBox(){ 
            public void processFocusEvent(FocusEvent fe) { 
               super.processFocusEvent(fe); 
               Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); 
               if (isDisplayable() && fe.getID()==FocusEvent.FOCUS_GAINED && focusOwner==this && !isPopupVisible()) { 
                showPopup();
               } 
            } 
        };
    credo si debba implementare un ActionListener o un ItemListener ... ma nessuno dei due da quello che ho letto sulla documentazione supporta un aggiornamento del combobox se non c'è un effettivo cambiamento.

  4. #4
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Neanche lanciando la funzione di cambiamento e settando il valore della Combo?
    ( parlo senza test )
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    Non capisco cosa tu voglia dire!
    Riesci ad essere più chiaro?

    Cosa intendi per funzione di cambiamento?

  6. #6
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Quando viene scatenato l'evento la Combo lancia una funzione ( per l'appunto l'evento )...Bene la mia proposta ( ripeto senza nessun test fondato e provato ) potrebbe esser quello di scatenare l'evento senza che l'utente debba andare ad interagire con la Combo...Anche se dubito possa funzionare...
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    quando l'utente interagisce con la combo, scatena un evento di CambioTabella

    codice:
    public static class CambiaLaTabella implements TableModelListener {
        
    public void tableChanged(TableModelEvent e) {
    ....
    }
    }
    e le informazioni relative all'opzione scelta vengono caricate nel resto della tabella.


    Qundi se ho capito la tua proposta sarebbe quella di andare ad aggiornare da solo i vari campi?
    Non so, cmq per questa sera mollo (sono cotto)
    Ti ringrazio molto per l'interessamento!

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.