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 アプリケーション スレッドではありません。
誰が私が間違っているのか教えてもらえますか?