当我尝试从日食工作中调用javafx时,我收到错误。所以我搜索了不同的博客。我得到了运行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.But添加所有那些之前的错误后回来了。即不在外汇申请线上;
谁能告诉我,我做错了什么?
答案 0 :(得分:0)
SWT和JavaFX事件线程是相同的。因此,在从外部线程调用JavaFX UI时,您始终可以使用Display.asyncExec