2012-12-02 34 views
5

voglio aprire una finestra FileDialog nella cartella home dell'utente (ad esempio/home/utente o/Users/unsername)SWT FileDialog Aprire nella cartella home

ho letto la cartella home dell'utente, utilizzando System.getProperty:

String homefolder = System.getProperty(user.home); 

E la variabile contiene la cartella Inizio corretta. Ma quando imposto il filterpath in FileDialog, apre (in linux) solo il livello/home che non entra nella directory home dell'utente.

Questo è il codice sorgente:

FileDialog dialog = new FileDialog(shell); 
    dialog.setText("Choose a certificate"); 
    String platform = SWT.getPlatform(); 
    String homefolder = System.getProperty("user.home"); 
    dialog.setFilterPath(homefolder); 

Qualche idea? Ecco uno screenshot: Swt FileDialog Problem

+0

Il codice fa aprire la cartella home sul mio sistema. Hai verificato che 'homefolder' è il percorso corretto? – Baz

+0

sì. Il contenuto della homfolder è corretto. Ma quando apro il FileDialog è su/home con la cartella utente selezionata. – Ivan

+0

Quale gestore di finestre stai usando? – Baz

risposta

5

Il codice funziona perfettamente con SWT 3.6.1. C'è un bug report here che afferma che questo era un problema nelle versioni SWT < = 3.3 ed è stato corretto in 3.4.

Quindi, la soluzione sarebbe installare una versione mai (idealmente la versione corrente).

Dal momento che lei ha detto che si utilizza un repository Maven, ce n'è una per SWT 3.8 qui:

maven project: SWT 3.5 dependency: any official public repo?