我编写了一个简单的 Javafx 应用程序,它启动一个新线程并且它在 Netbeans 中运行良好。 但是我在编译过程中收到以下警告:
explicit use of threads is not supported
这是否意味着它现在可以在所有可能的设备(如手机或浏览器)中运行?
最佳答案
JavaFX 本身必须在主 JavaFX 线程上运行,因此目前不支持直接从 JavaFX 启动线程。但是,您可以创建一个生成线程的 Java 类。因此,您的 JavaFX 类调用 Java 类,然后启动一个线程。
从 Java 线程回调到 JavaFX,您需要在主 JavaFX 线程上。如何做到这一点的一个例子是:
import com.sun.javafx.runtime.Entry;
Entry.deferAction( new Runnable() {
@Override
public void run() {
fxListener.onMessage(copy);
}
} );
您不应直接从 Java 操作 JavaFX 对象。如果您从 Java 执行此操作,则需要使用 javafx.reflect 类。
关于java - Javafx 是否支持启动您自己的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104193/