我正在从另一个类中创建MainWindow类的新窗口。 MainWindow类的JFrame打开,我可以单击我的按钮,但是在单击按钮后GUI不会更新。我在这个类中使用SwingWorkers,如果我自己运行它,GUI会不断更新。 但是,即使在使用SwingWorker调用创建后,从其他类创建它也无法正确更新。
private void StartButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
WindowEvent winClose = new WindowEvent(this,WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(winClose);
StartGame doGame = new StartGame();
doGame.execute();
}
class StartGame extends SwingWorker<Void, Void>
{
@Override
public Void doInBackground()
{
try {
MainWindow game = new MainWindow(num_respawns, hits, regen_secs, time, map);
game.setVisible(true);
} catch (IOException ex) {
Logger.getLogger(GameSetup.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
@Override
public void done()
{
System.out.println("opening done");
}
}