Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con JTable ed Observer

    Salve a tutti,
    ho un piccolo problema usando una JTable ed il pattern Observer.
    In un metodo della classe Observable faccio
    codice:
    public LinkedList<String[]> search(String[] parameter) {
    ....
    ....
          setChanged();
          notifyObservers();
          return result;
    }
    che richiama il seguente metodo nella classe Observer, che è una gui
    codice:
    public void update(Observable arg0, Object arg1) {
    		prodottiModel.addRow(new String[]{"11","22","33","44","55"});
    	}
    Purtroppo la chiamata addRow non sortisce alcun effetto... tuttavia eseguendo una prova e richiamando il metodo addRow all'interno di un metodo della GUI,diverso dall'update, la JTable si aggiorna senza problemi.
    Come mai richiamando l'addRow dal metodo update dell'observer la JTable non si aggiorna???


    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  2. #2
    Ho risolto introducendo una classe Observer interna alla gui.
    codice:
    public class BuyerGUI extends JFrame{
    ...
    ...
    
    private class ObserverClass implements Observer{
       public void update(Observable o,Object arg){
           prodottiModel.addRow(new String[]{"11","22","33","44","55"});
       }
    }
    
    
    public BuyerGUI(){
    ...
    ObserverClass obs=new ObserverClass();
    //seller è l'oggetto Observable
    seller.addObserver(obs);
    }
    ..
    }
    Ora funziona tutto.
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

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.