Buonasera a tutti
Avevo gia precedentemente postato un messaggio inerente il riempimento di una semplice tabella; in seguito mi sono resa conto che per rendere le celle non editabili sarei dovuta ricorrere all'AbstractTableModel; ho preparato quindi un esempio per tenatare di farvi capire ciò che voglio fare:
Ora avrei qualche dubbio:codice:public class ProvaTab extends JPanel implements ActionListener{ JTable table; JScrollPane scroll; JButton carca; public ProvaTab() { this.setLayout(null); this.setBounds(0,0,1000,600); this.setBackground(Color.cyan); carca = new JButton("butta su"); carca.setBounds(10, 10, 100, 20); carca.addActionListener(this); this.add(carca); table = new JTable(new Model()); scroll = new JScrollPane(table); scroll.setBounds(50, 50, 700, 400); this.add(scroll); } class Model extends AbstractTableModel { String[] Colonne = {"Nome","Cognome","Contratto","NumTelefono"}; Object[][] Dati = {};//Inizialmente vuota, i dati verranno aggiunti al click sui bottoni public int getColumnCount() { return Colonne.length; } public int getRowCount() { return Dati.length; } public String getColumnName(int col) { return Colonne[col]; } public Object getValueAt(int row, int col) { return Dati[row][col]; } public boolean isCellEditable(int row, int col) { return false; } } void caricaLista() { //che devo scrivere qui per far riempire la tabella con qualsiasi dato o stringa? } public void actionPerformed (ActionEvent e) { Object src = e.getSource(); if (src==carca) { caricaLista(); } } public static void main (String[] args) { JFrame frame = new JFrame(); ProvaTab prova = new ProvaTab(); frame.setBounds(240, 200, 1000, 600); frame.add(prova); frame.setLayout(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
1) Come posso aggiungere/cancellare gli elementi dalla mia tabella?? Quali metodi devo utilizzare??
2) Come mai se scrivo table.addRow eclipse mi diche che quel metodo non esiste mentre nel sito della sun viene elencato tra i metodi dell'AbstractTableModel
Vi pregherei di farmi qualche esempio e di non reindirizzarmi al tutorial della sun, lo ho gia consultato e li gli elementi vengono inseriti in tabella SOLO al momento dell'inizializzazione... praticamente è inutile...
P.S. La mia tabella dovrà contenere solo elementi di tipo String ma è importante che le celle non siano editabili: se conoscete un TableModel migliore o un metodo piu efficiente per creare una tabella che risponda a tali requisiti vi sarei grata se me lo diceste.
Grazie infinite

Rispondi quotando