Ho un'applicazione che richiede l'input dell'utente per la password.Come determinare se GraphicsEnvironment esiste
Quello che voglio fare è leggere la password dalla console (se il sistema operativo supporta uno e.g unix) o visualizzare un JOptionPane e chiedere all'utente di inserire la sua password (se il sistema operativo supporta l'interfaccia grafica ad esempio windows).
Alcune persone potrebbero obiettare che una console sarà sempre disponibile in entrambi i casi sopra, quindi sarà sufficiente un input da console. Ma il problema è se l'app Java inizia a utilizzare javaw.exe, quindi una console non è disponibile. Quindi, ho bisogno di un modo per determinare se posso fare entrambi i casi.
Il mio problema è come determinare se l'ambiente in cui viene eseguita l'applicazione supporta una console o un'interfaccia grafica.
so che un metodo statico esiste GraphicsEnvironment.isHeadless()
ma dal doc Java penso che questo metodo non può distinguere se il sistema operativo supporta la grafica, ma piuttosto che se il sistema operativo in grado di supportare uno dei dispositivi di I/O (tastiera, mouse, schermo).
Qualcuno ne sa di più? Sono in grado di recuperare se il sistema operativo supporta la console o l'ambiente grafico?
Grazie in anticipo.
Sede [C'è un modo sicuro e programmatico per determinare se è sicuro per aprire una finestra Swing?] (Http://stackoverflow.com/questions/5893236/is-there-a-safe-programmatic- strada-per-determinare-se-è-sicuro-aprire-un-swing-vento) – devnull
@devnull grazie per la risposta. Quindi, in realtà, come suggerisce l'altro post, il metodo isHeadless() farà il lavoro. Devo aver interpretato male la documentazione Java allora. Tuttavia, cercherò di trovare una macchina Unix per eseguire l'app e posterò le mie scoperte qui. – nikkatsa