我正在使用 OpenCYC api(不是太常见,但除此之外),我正在尝试创建一个AccessObject
名为ao
. 问题是,无论出于何种原因,AccessObject
都无法在主 Java Swing 事件线程中实例化 an。
因此,作为一种解决方法,我创建了另一个线程,它只是AccessObject
在它的run()
方法中实例化一个,并且还为它提供了一个 getter 来返回它。
所以这就是我的调用代码:
// do something with code
AccessObject ao;
AccessObjectInstantiateThread aoThread = new AccessObjectInstantiationThread();
aoThread.start();
while(ao == null) // while loop to ensure we "wait" for aoThread to finish
{
ao = aoThread.getAoObject();
}
// Then use ao however you want
现在这段代码可以工作了,但看起来很荒谬。有没有更好的方法来做到这一点?请记住,我无法AccessObject
在主 java 事件线程下实例化一个。
非常感谢你,里奇。