Perfetto.
Funziona alla grande.
nel TableModelFrame:
codice:
public class TableModelFrame extends DefaultTableModel {//ormai ho estesto il DefaultTableModel e fuziona bene
...
private boolean buttonsVisible;
...
public TableModelFrame(Object[][] data, Object[] title, String tipo) { ...
....
buttonsVisible=true;
}
public void setButtonVisible(boolean visible){
this.buttonsVisible=visible;
}
public boolean isCellEditable(int row, int column) {
....
....
....
if(buttonsVisible) {
if(column==3 || column==4 || column==7 ) return true;
else return false;
}
else return false;
}
...
...
e facilmente nello SwingWorker:
codice:
class SwingWorkerClass extends SwingWorker<Void, Void> {
private ProgressPanel progressBar;
private Risultato r;
private ButtonEditor ed;
private TableModelFrame a_model;
public SwingWorkerClass(ProgressPanel aProgressBar, ButtonEditor ed, Risultato ris, TableModelFrame m_model) {
this.progressBar = aProgressBar;
r=ris;
this.ed=ed;
a_model=m_model;
a_model.setButtonVisible(false);
progressBar.setVisible(true);
}
@Override
public Void doInBackground() {
//long running task
ed.modifyResult(r);
return null;
}
@Override
public void done() {
a_model.setButtonVisible(true);
progressBar.setVisible(false);
}
Ma se io volessi anche rendere quel bottone come se fosse disabled (in grigetto per intenderci) come dovrei operare?ù
Dovrei modificare il renderer dei bottoni? (fra l'altro già presente nella mia classe ButtonRenderer)
Grazie.