gpt4 book ai didi

JavaFX 和 getDesktop().open() 使程序崩溃

转载 作者:行者123 更新时间:2023-12-01 17:57:12 27 4
gpt4 key购买 nike

当我尝试调用 Desktop.getDesktop().open() 时,我的程序崩溃了。

我使用的是 Ubuntu GNOME 16.10,运行的是 Gnome 3.20.4。我还没有机会在另一个平台上测试这段代码,但在这个平台上它肯定会使程序崩溃。

browseMenuItem.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {

Platform.runLater( new Runnable() {
public void run() {
try {
System.out.println ( Desktop.isDesktopSupported() );
Desktop.getDesktop().open( albumTable.getSelectionModel().getSelectedItem().getPath().toFile() );
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
});

对于如何解决此问题有什么想法吗?

最佳答案

您正在混合使用 JavaFX 和 AWT,这可能会导致问题。而不是

Desktop.getDesktop().open(file);

尝试使用 JavaFX API:

getHostServices().showDocument(file.toURI().toString());

getHostServices()Application 中定义(因此您可能需要在 start 方法中检索它并将其传递给正在向菜单项注册监听器的任何对象(可能是 Controller ))。

关于JavaFX 和 getDesktop().open() 使程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43757614/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com