我正在运行一个JavaFX应用程序,我在其中创建了一个SwingNode,以便加载我使用Jung可视化创建的图形。我将GraphZoomScrollPane放入SwingNode,然后将此SwingNode加载到FlowPane中。
这确实有效,但是在它出现在页面上之前有时会有很长的延迟,并且它有时会影响其他内容加载(即其他内容将变黑并暂停一段时间然后重新加载)。有时我得到一个线程异常,它表明它没有在FX应用程序线程上运行,但是当我清理项目时,它就消失了。
下面是我创建SwingNode并将其放在FlowPane中的代码。
final SwingNode swingNode = new SwingNode();
createAndSetSwingContent(swingNode, test);
graphPane.getChildren().add(swingNode);
private void createAndSetSwingContent(final SwingNode swingNode, final ArrayList<String> wordList) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
swingNode.setContent(new WordNetGraphs().WordNetGroupGraphs(wordList));
} catch (JWNLException ex) {
Logger.getLogger(WordNetPairPageController.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
}
如果有人知道更好的方法,我会非常感激。