如何判断gui是否在java中完全构建?
How to determine if gui is completely constructed in java?
我想在单击按钮时显示一个新的 JFrame,并且我正在调用另一个方法,此方法需要该 JFrame 中的元素,但在完成构建 gui 之前,我的方法正在运行。有什么方法可以确定什么时候构建了gui的所有元素?
这是我的代码:
public void run(String mergeLevel) {
JProgressBar progressBar = addProgressBar();
extractGrammar(progressBar);
}
如果你想保证在你的方法调用之前完全构建GUI,创建一个SwingWorker的子类并在开始你的GUI构建之后将你的方法调用放在SwingWorker的done()
方法中,它本身应该通过 Runnable 和 SwingUtilities.invokeNow()
放在 swing 线程上。构建 GUI 后,代码将在 swing 线程上执行。
我想在单击按钮时显示一个新的 JFrame,并且我正在调用另一个方法,此方法需要该 JFrame 中的元素,但在完成构建 gui 之前,我的方法正在运行。有什么方法可以确定什么时候构建了gui的所有元素?
这是我的代码:
public void run(String mergeLevel) {
JProgressBar progressBar = addProgressBar();
extractGrammar(progressBar);
}
如果你想保证在你的方法调用之前完全构建GUI,创建一个SwingWorker的子类并在开始你的GUI构建之后将你的方法调用放在SwingWorker的done()
方法中,它本身应该通过 Runnable 和 SwingUtilities.invokeNow()
放在 swing 线程上。构建 GUI 后,代码将在 swing 线程上执行。