ciao signal, aspè detto così non si capisco molto..
ti posto il codice e tu dimmi cosa faresti..
questa è la classe che mi gestisce il modello
codice:
class MyTableModel extends AbstractTableModel {
private TableColumn column = null;
private Object[][] data;//matrice di oggetti
private String[] columnNames = {"Titolo", // titoli delle colonne
"Autore",
"Tipologia",
"Nome file",
"Mb",
"Supporto",
"Indice",
"Commenti"};
public MyTableModel(){
temp =mt.trova();//metodo che mi raccoglie i dati dopo una query al DB
data=new Object[temp.length][8];
for(int i=0;i<temp.length;i++){
data[i][0]=temp[i].getTitolo();
data[i][1]=temp[i].getAutore();
data[i][2]=temp[i].getTipologia();
data[i][3]=temp[i].getNome_file();
data[i][4]=temp[i].getDimensione();
data[i][5]=temp[i].getSupporto();
data[i][6]=temp[i].getIdsupporto();
data[i][7]=temp[i].getCommento();
}
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
e questo è l'action listener che gestisce il pulsante "cancella" dopo che seleziono le righe.
codice:
if (o instanceof JButton) {
if(o==cancella){
try{
if(table.getSelectedRow()==-1){//se non hai selezionato niente
JOptionPane.showMessageDialog(null,"Non hai selezionato niente", "Attenzione",JOptionPane.ERROR_MESSAGE);
}else{
int temp[] = table.getSelectedRows();//creo l'array delle righe selezionate
int i=0;
while (i<temp.length){
String titolo = (String)table.getValueAt(temp[i],0);
String autore = (String)table.getValueAt(temp[i],1);
String tipologia = (String) table.getValueAt(temp[i],2);
String nome_file = (String) table.getValueAt(temp[i],3);
int dimensione = (Integer)table.getValueAt(temp[i],4);
String supporto = (String) table.getValueAt(temp[i],5);
String idsupporto = (String) table.getValueAt(temp[i],6);
String commento = (String) table.getValueAt(temp[i],7);
VoceDistributore v=new VoceDistributore(titolo,autore,tipologia,nome_file,dimensione,supporto,idsupporto,commento);
mt.cancella(v); //chiamo il metodo per la cancellazione sul db che funziona
i++;
}
}
}
catch(VoceAssente e){
JOptionPane.showMessageDialog(null,"Non esiste l'oggetto selezionato", "Attenzione",JOptionPane.ERROR_MESSAGE);
}
}
ecco come faresti adesso a fare il refresh della tabella partendo da questa situazione..
usando quel setModel che mi dicevi..
ciao e grazie