java - Javafx 是否支持启动您自己的线程?

标签 java multithreading javafx

我编写了一个简单的 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/

相关文章:

java - 如何获取 JPanel 中文本区域的位置

java - jsp 中捕获 nullpointerException 失败

java - 如何在触摸事件上绘制矩形

c++ - 在 Visual Studio 2010 C++ 中查找线程的起始位置

java - 多线程应用程序中的事件处理

java - 在 javafx 中显示工具提示将其舞台置于前台

java - 按编号对列表排序

使用 pyhook 进行 Python 线程处理

java - 如何在边框底部的每个角放置两个按钮

JavaFX 代码重复