更新:作爲標記重複,我只想提及,這似乎是重複的,但其他提到的問題的答案並不完全正確。請參閱下面的接受答案。 isHeadless在某些情況下會返回意外的錯誤。檢查系統/計算機是否有顯示器或圖形輸出可用
它有點奇怪的情況,但最近我建立了一個非常簡單的Java應用程序,可以在控制檯/終端模式或JavaFX UI模式下運行。
但是,在沒有附加任何顯示器的遠程計算機上使用它時。我得到了一個錯誤,即這個JavaFX UI應用程序無法在沒有顯示的系統上啓動,這很明顯。
爲了解決這個問題,我一直在尋找一種可靠的方式來檢測系統是否附加了任何顯示器,它可以啓動一個JavaFX應用程序,該應用程序必須是獨立於平臺的解決方案,因爲它可以是Windows或Ubuntu/Linux或Mac系統。本申請的
結構:
A主控制檯應用程序,這取決於輸入參數執行內部一個控制檯應用程序或UI應用。
因此,如果給出任何參數,在控制檯模式下運行,或者如果沒有參數,然後在UI模式下運行。 這是我想要檢測是否在我的主控制檯應用程序中有顯示可用的位置,如果缺少顯示,它甚至不會嘗試運行UI應用程序。
任何想法,我們如何才能實現這一點或建議在一個適當的方向將是偉大的。
怎麼樣在try..catch?你能檢測到確切的錯誤代碼/消息/類型? – jean 2015-02-23 11:02:58
@jean:是絕對真實的,但我一直在尋找更像是一種內部Java方式來檢測這種情況,而不是進入捕捉異常階段。這就是爲什麼我說一個強大的方式。因爲Java拋出這個異常意味着它必須一直讀取它或檢測它。這就是我想知道:) – Indigo 2015-02-23 11:06:26