我有一個需要用戶輸入密碼的應用程序。如何確定圖形環境是否存在
我想要做的是從控制檯讀取密碼(如果操作系統支持一個例如unix)或顯示JOptionPane並要求用戶輸入密碼(如果操作系統支持圖形界面,例如Windows)。
有些人可能會爭辯說,在上述兩種情況下控制檯總是可用,所以控制檯輸入就足夠了。但問題是如果Java應用程序開始使用javaw.exe,那麼控制檯不可用。因此,我需要一種方法來確定我是否可以做任何一種情況。
我的問題是如何確定應用程序運行的環境是否支持控制檯或圖形界面。
我知道,一個靜態方法存在 GraphicsEnvironment.isHeadless()
但是從Java文檔我認爲這種方法無法區分如果操作系統支持的圖形,但不是如果操作系統可以支持I/O設備之一(鍵盤,鼠標,屏幕)。
有沒有人知道更多關於此?我能夠檢索操作系統是否支持控制檯或圖形環境?
在此先感謝。
參見[有沒有一個安全的,有計劃的方式,以確定它是否安全地打開一個Swing窗口?](http://stackoverflow.com/questions/5893236/is-there-a-safe-programmatic-如何確定它是否安全地打開擺動風) – devnull
@devnull謝謝你的回答。實際上,正如另一篇文章所暗示的,isHeadless()方法將完成這項工作。那麼我一定錯誤地解釋了Java文檔。但是,我會嘗試找到一個unix機器來運行該應用程序,我會將我的發現發佈回來。 – nikkatsa