Modifica/aggiornamento JTable

di il
1 risposte

Modifica/aggiornamento JTable

Ciao ragazzi...avrei bisogno di un piccolo(grande) aiuto....In pratica sto sviluppando una piccola applicazione grazie alla quale da un pc c'è la possibilità di spegnerne molti altri...spiego meglio...sono in totale 13 pc...uno è il server...e dal server vorrei fare in modo che gli altri 12 vengano spenti attraverso l'applicazione..diciamo che questa parte è fatta e funziona..il mio problema sta nello sviluppo della GUI...perchè ho pensato di usare una jtable che ha 3 colonne{InetAddress,LocalAddress,localPort} e come righe naturalmente i dati dei pc connessi.Non tutti e 12 i pc vengono accessi contemporaneamente quindi l'applicazione è in grado di rilevare chi è acceso e chi no usando una struttura dati...il problema sta nell'aggiornare la JTable...perchè inizialmente le celle riportano tutte la dicitura "vuoto" in quanto nessuno è connesso...ma poi,non appena i pc si accendono e si collegano,come faccio ad aggiornare dinamicamente la table??
Premetto che essa deve essere non editable..e l'aggiornamente deve avvenire in modo automatico(nn so attraverso un thread temporizzato magari)...ho provato svariati modi ma senza risultati..mi potete aiutare?Grazie mille

1 Risposte

  • Re: Modifica/aggiornamento JTable

    Quando ricevi l'evento 'pc connesso' chiami un metodo aggiorna tabella()
    crei un tablemodel coi dati cambiati e poi chiamando table.setmodel(nuovotablemodel)
    
    public class gui extends JPanel{
    JTable table;
    
    
    public gui(){
    ...
    table = new JTable();
    ...
    }
    
    
    public aggiornatabella(AbstractList <PC> pc_connessi){
    
    DefaultTableModel dtm = new DefaultTableModel(pc_connessi,{"COLONNA1","COLONNA2"});
    table.setModel(dtm)
    
    }
    
    public ..... main(){
    ...
    }
    
    }
    
    poi la tua classe che rileva il pc connesso chiamerà il metodo aggiornatabella passandogli il vettore dei pc connessi.

    se poi vuoi creati il tuo tablemodel estendendo il defaulttablemodel co
    }
Devi accedere o registrarti per scrivere nel forum
1 risposte