我希望在单击按钮时显示一个新的JFrame,并且我也在调用另一个方法,并且此方法需要该JFrame中的元素,但在构建gui之前,我的方法是runnig。有什么方法可以确定gui的所有元素何时构建?
这是我的代码:
public void run(String mergeLevel) {
JProgressBar progressBar = addProgressBar();
extractGrammar(progressBar);
}
答案 0 :(得分:1)
如果要保证在方法调用之前完全构造GUI,请创建SwingWorker的子类,并在启动GUI构造后将方法调用放入SwingWorker的done()
方法中,该构造本身应该放在通过Runnable和SwingUtilities.invokeNow()
在swing线程上。在构建GUI之后,代码将在swing线程上执行。