mdema@diesel
2008-06-30 14:35:09 UTC
Ciao a tutti,
cm da oggetto il mio problema riguarda un oggetto
SwingWorker<String,Void> e la stringa che DOVREBBE restituire.
Posto che ho letto il tutorial di Swing sul sito della Sun, ma non ho
ancora ben chiaro COME usare uno swingworker, vi mostro il codice che ho
buttato giu:
SwingWorker worker = new SwingWorker<String,Void>(){
@Override
protected String doInBackground() throws
Exception {
String plot =
PlotGetter.getPlotfromTitle((String)DBTable.getValueAt(DBTable.getSelectedRow(),
0));
return plot;
}
@Override
protected void done(){
try {
txtarea.setText(get());
if(txtarea.equals("Non
trovato!")){btnSavePlot.setEnabled(false);
JOptionPane.showMessageDialog(null,"NON TROVATO!");}
else btnSavePlot.setEnabled(true);
} catch (InterruptedException ex) {
Logger.getLogger(GetPlotsView.class.getName()).log(Level.SEVERE, null, ex);
} catch (ExecutionException ex) {
Logger.getLogger(GetPlotsView.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
Solo che quando faccio partire il tutto, il thread parte (visto ke la
gui nn si blocca) ma non ritorna mai nulla. Immagino il problema sia o
che non ho assolutamente capito come si usa questa classe, o che non
posso fare la chiamata a PlotGetter.getPlotFromTitle(..)....
Voi cosa ne pensate??
Grazie mille
Ciao
cm da oggetto il mio problema riguarda un oggetto
SwingWorker<String,Void> e la stringa che DOVREBBE restituire.
Posto che ho letto il tutorial di Swing sul sito della Sun, ma non ho
ancora ben chiaro COME usare uno swingworker, vi mostro il codice che ho
buttato giu:
SwingWorker worker = new SwingWorker<String,Void>(){
@Override
protected String doInBackground() throws
Exception {
String plot =
PlotGetter.getPlotfromTitle((String)DBTable.getValueAt(DBTable.getSelectedRow(),
0));
return plot;
}
@Override
protected void done(){
try {
txtarea.setText(get());
if(txtarea.equals("Non
trovato!")){btnSavePlot.setEnabled(false);
JOptionPane.showMessageDialog(null,"NON TROVATO!");}
else btnSavePlot.setEnabled(true);
} catch (InterruptedException ex) {
Logger.getLogger(GetPlotsView.class.getName()).log(Level.SEVERE, null, ex);
} catch (ExecutionException ex) {
Logger.getLogger(GetPlotsView.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
Solo che quando faccio partire il tutto, il thread parte (visto ke la
gui nn si blocca) ma non ritorna mai nulla. Immagino il problema sia o
che non ho assolutamente capito come si usa questa classe, o che non
posso fare la chiamata a PlotGetter.getPlotFromTitle(..)....
Voi cosa ne pensate??
Grazie mille
Ciao