当我尝试从 Eclipse 作业中调用 javafx ui 时出现错误。所以我搜索了不同的博客。我得到了运行 javaui 我必须在 javafx 线程中运行。
void run{
Platform.runLater(new Runnable() {
@Override
public void run() {
commanddialog = new CommandloggerDialog(window);
commanddialog.open();
// javaFX operations should go here
}
});
}
然后我得到了工具包未初始化的错误。然后我才知道我必须在这个线程之外为 javafx 创建工具包,所以我将方法修改为
Shell shell = new Shell(window.getShell().getDisplay());
shell.setLayout(new FillLayout());
FXCanvas canvas = new FXCanvas(shell, SWT.None);
Platform.runLater(new Runnable() {
@Override
public void run() {
commanddialog = new CommandloggerDialog(window);
commanddialog.open();
// javaFX operations should go here
}
});
}
这里 fxcanvas 是 javafxtoolkit。但是在添加所有这些之后,以前的错误又回来了。即不在 FX 应用程序线程上;
谁能告诉我我做错了什么?