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

    [java] aggiornare jtable

    ciao

    susatemi, ho fatto qualche ricerca ma non sono riuscito a risolvere:

    ho una semplicissima jtable che inizializzo cosi:

    codice:
      String [] headers_tabella ={"Data","Mittente","Oggetto"};
      Object [][]contenuto_tabella=new Object[0][0];
      JTable tabella=new JTable(contenuto_tabella,headers_tabella);
    e fino a qui tutto ok

    ad un certo punto la mia applicazione chiama un metodo che ritorna un Object[][] che sarebbe l'array bidimensionale contenente tutto quello che deve finire nella tabella

    come posso fare quindi per riaggiorare la tabella?

    ho provato un

    codice:
    this.tabella=new JTable(this.medodo(),this.headers_tabella);
    ma credo che sia sbagliato, e comunque non funziona...cosa devo fare? grazie
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    Hai validato il container che contiene la tua JTable dopo averla aggiornata?

    Prova e vedi se cambia qualcosa.

  3. #3
    uhm....no...come si fa?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    La tua JTable dovrebbe essere stata aggiunta ad un JFrame o container simili, con l'istruzione

    codice:
    jFrame.add(jTable);
    a questo punto dopo aver modificato la tua JTable prova ed esegure queste operazioni sul JFrame:

    codice:
    jFrame.validate();
    eventualmente fallo prima sulla JTable, ma non dovrebbe essere necessario

    codice:
    jTable.validate();
    jFrame.validate();

  5. #5
    non va...

    ho provato anche a farlo sul borderlayout e sullo scrollpane che la contengono ma senza ottenere risultati...
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  6. #6
    cercando un po in rete ho visto che ci sono anche degli esempi sull'utilizzo di un modello...

    ho provato quindi questo:

    codice:
    TableModel tm=this.tabella.getModel();
                           this.tabella=new JTable(new Object[10][10],this.headers_tabella);
               
                for(int i=0;i<this.account.SavedEmails();i++){
                    
                    tm.setValueAt("a",i,0);
                    tm.setValueAt("b",i,1);
                    tm.setValueAt("c",i,2);
                    
                }
                
                this.tabella.setModel(tm);
                this.tabella.revalidate();
                this.tabella.repaint();
                
            }
    this.account.SavedEmails() ritorna 3

    eppure mi da exception java.lang.ArrayIndexOutOfBoundsException: 0

    in corrispondenza di: tm.setValueAt("a",i,0);

    inizialmente la jtable è inizializzata cosi:
    JTable tabella;
    String [] headers_tabella ={"Data","Mittente","Oggetto"};
    Object [][]contenuto_tabella=new Object[0][0];

    this.tabella=new JTable(this.contenuto_tabella,this.headers_tabella );

    però come si vede poi viene fatto un:
    this.tabella=new JTable(new Object[10][10],this.headers_tabella);

    perchè non va?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  7. #7
    ho risolto cosi!

    codice:
    DefaultTableModel modello_tabella=new DefaultTableModel();
    JTable tabella=new JTable(this.modello_tabella);
    
       this.modello_tabella.addColumn("Data");
       this.modello_tabella.addColumn("Mittente");
       this.modello_tabella.addColumn("Soggetto");
       
    for(...){
    this.modello_tabella.addRow(new Object [] {1,2,3});
    }
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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 © 2024 vBulletin Solutions, Inc. All rights reserved.