Ciao a tutti non riesco a capire come poter aggiungere dati alla mia JTable dopo averla aggiunta.
Vorrei popolare riga x riga con .setValueAs(valore,riga,colonna) ma il metodo non funziona se non nel costruttore.
grazie...
Ciao a tutti non riesco a capire come poter aggiungere dati alla mia JTable dopo averla aggiunta.
Vorrei popolare riga x riga con .setValueAs(valore,riga,colonna) ma il metodo non funziona se non nel costruttore.
grazie...
se mi chiedeste chi è per me un vero amico vi risponderei che è una persona che io considero alla pari di me.
Mi spiego meglio: da ActionListener su un bottone, il comando table.setValueAs non viene riconosciuto... non so come aggirare il problema...
se mi chiedeste chi è per me un vero amico vi risponderei che è una persona che io considero alla pari di me.
Prova innanzitutto a chiamare la funzione col suo giusto nome... setValueAt
senz'altro....anche se il problema purtroppo permane...
se mi chiedeste chi è per me un vero amico vi risponderei che è una persona che io considero alla pari di me.
E allora penso che il problema non sia la funzione, bensì la visibilità della tabella... Se hai gestito la pressione del bottone mediante una inner class anonima, la jtable deve essere dichiarata o come attributo della classe o come final.
mmm ho gestito la tabella così, e di seguito si vede l'action listener...c'è un Vettore nel quale faccio iterazione:
codice:String[] columnNames = {"pippo","pluto","paperino","paperoga"}; int rowCount = 100; DefaultTableModel tableModel = new DefaultTableModel(columnNames, rowCount); JTable table = new JTable(tableModel); JScrollPane scrollPane = new JScrollPane(table); add(scrollPane, BorderLayout.CENTER); table.setVisible(true); table.setBackground(Color.white); //Istanzia Handler per ActionListener theHandler handler = new theHandler(); //Collegamento ActionListener ad handler button1.addActionListener(handler); } private class theHandler implements ActionListener { public void actionPerformed(ActionEvent event) { if(event.getSource()==button1) { try{ Vector<testEntity> vtestEntities =FileReadertest.gettestEntityCollection("xxxxx.txt"); Iterator<test> i = vtestEntities.iterator(); while(i.hasNext()) { //qui vorrei popolare la JTable ma non riesco a richiamarla.... } } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null,"Eccezione : " + e.getMessage()); } } } }
se mi chiedeste chi è per me un vero amico vi risponderei che è una persona che io considero alla pari di me.
Il problema dipende dal fatto che tu stai dichiarando la JTable all'interno di un metodo... se la dichiari dentro ad un metodo, essa vive (o, comunque, è raggiungibile) solo dentro a quel metodo.
Ricorda che i componenti principali devono sempre essere dichiarati a livello di classe, per evitare problemi di raggiungibilità: sposta la dichiarazione della JTable fuori dai metodi... poi istanziala dove vuoi.
codice:public class TuaClasse ... { ... // Dichiaro tutti i componenti private JTable table; ... public TuaClasse() { // Sono nel costruttore, ma potrei essere in un metodo qualunque table = new JTable( ... ); ... }
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Grazie...hai ragione..
farò TESORO di questa semplice ma basilare pratica![]()
se mi chiedeste chi è per me un vero amico vi risponderei che è una persona che io considero alla pari di me.