我使用Oracle JDK 1.8.0_05通過NetBeans8.0在Ubuntu 12.04 LTS 64位(使用Gnome Shell)上運行Java中的一些代碼。JavaFX Freeze on Desktop.open(file),Desktop.browse(uri)
以下函數在Main或其他空的Java項目中調用時可以完美地工作,但是當從任何JavaFX應用程序調用時,它會導致窗口凍結並停止響應(儘管項目完全符合),要求它被迫關閉。
任何人都可以提出任何問題與我寫了哪些可能導致問題或循環?
唉,由於失敗的模式,我沒有可以提供或分析的錯誤消息。
任何建議感激地收到,在此先感謝。
public static void desktopTest(){
Desktop de = Desktop.getDesktop();
try {
de.browse(new URI("http://stackoverflow.com"));
}
catch (IOException | URISyntaxException e) {
System.out.println(e);
}
try {
de.open(new File("/home/aaa/file.ext"));
}
catch (IOException e){
System.out.println(e);
}
try {
de.mail(new URI("mailto:[email protected]"));
}
catch (URISyntaxException | IOException e){
System.out.println(e);
}
}
這裏的重要部分是'Desktop.isDesktopSupported()'。似乎會發生某種初始化。沒有它,它不起作用。這個答案應該被標記爲被接受的答案。 –
是什麼使它對我的工作是創建一個新的線程 - 這似乎是必要的。 –
看起來「Desktop.open()」具有相同的問題和解決方案。謝謝,亞歷克斯:)。 – jamie