【问题标题】:How to determine if gui is completely constructed in java?如何确定gui是否完全用java构造?
【发布时间】:2015-06-06 20:07:47
【问题描述】:

我想在单击按钮时显示一个新的 JFrame,并且我正在调用另一个方法,并且此方法需要该 JFrame 中的元素,但在完成构建 gui 之前,我的方法正在运行。有什么方法可以确定 gui 的所有元素何时构建?

这是我的代码:

    public void run(String mergeLevel) {
    JProgressBar progressBar = addProgressBar();
    extractGrammar(progressBar);
    }

【问题讨论】:

    标签: java swing user-interface progress-bar


    【解决方案1】:

    如果你想保证GUI在你的方法调用之前完全构建,创建一个SwingWorker的子类,并在开始你的GUI构建之后将你的方法调用放在SwingWorker的done()方法中,它本身应该放在通过 Runnable 和 SwingUtilities.invokeNow() 摆动线程。代码将在构建 GUI 之后在 swing 线程上执行。

    【讨论】:

    • SwingUtilities.invokeNow() ?= invokeLater/AndWait(都是 doRun.run())
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    相关资源
    最近更新 更多