на самом деле я вызвал качающийся рабочий из фрейма (предположим) A .. в классе качающегося рабочего в методе do-in-Background у меня есть определенные запросы к БД, и я тоже вызываю фрейм B .. в методе done (), однако я хочу избавиться от кадра А.. как я могу это сделать..? я не могу написать dispose() в классе кадра A, потому что это приводит к удалению кадра до того, как новый кадр (кадр B) станет видимым... Пожалуйста, помогите!!
class frameA extends JFrame{
public frameA(){
//done some operations..
SwingWorker worker=new Worker();
worker.execute();
}
public static void main(string[] args){
new frameA();
}
}
и в рабочем классе
class Worker extends SwingWorker<Void, String> {
public Worker() {
super();
}
//Executed on the Event Dispatch Thread after the doInBackground method is finished
@Override
protected void done() {
//want to dispose the frameA here..
}
@Override
protected Void doInBackground() throws Exception {
// some db queries
new frameB().setVisible(true);
// call to frameb
}
main()
, так и вdoInBackground()
. - person kiheru   schedule 14.11.2013