Sto eseguendo del codice in Java su Ubuntu 12.04 LTS a 64 bit (con Gnome Shell), utilizzando Oracle JDK 1.8.0_05 tramite NetBeans8.0.JavaFX Freeze su Desktop.open (file), Desktop.browse (uri)
La seguente funzione funziona perfettamente quando richiamato nella principale o in un progetto Java altrimenti vuoto, tuttavia quando chiamato da qualsiasi applicazione JavaFX, provoca la finestra di congelare e bloccare (anche se il progetto è conforme perfettamente), obbligandola a essere chiuso a forza.
Qualcuno può suggerire eventuali problemi con quello che ho scritto che potrebbe causare un problema o un ciclo?
Purtroppo, a causa della modalità di errore, non è presente alcun messaggio di errore che possa essere fornito o analizzato.
Eventuali suggerimenti ricevuti con gratitudine, grazie in anticipo.
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);
}
}
La parte importante qui è 'Desktop.isDesktopSupported()'. Sembra che ci sia una sorta di inizializzazione. Senza di ciò non funziona. Queste risposte dovrebbero essere contrassegnate come risposta accettata. –
Ciò che ha funzionato per me è stata la creazione di un nuovo thread, che sembra essere necessario. –
Sembra che "Desktop.open()" abbia lo stesso problema e soluzione. Grazie, Alex :). – jamie