2014-03-27 77 views
0

我正在嘗試創建一個無限運行的程序,直到我按下一個按鈕。該程序將在後臺運行,因此沒有任何時候打開顯示器。 while(!certainButtonIsPressed) { // Do Something } 如何使它在SomeButtonIsPressed有效的同時不會產生KeyBoardListener類?這可能沒有某種類型的Key偵聽器?Java檢測鍵被按下的時間

謝謝!

+0

你是否真的需要你的程序在後臺運行(從控制檯分離),還是隻是想讓它運行並檢查按鍵而不使用UI? – lreeder

+0

理想情況下,我希望它在後臺運行,因爲我將它用作惡作劇,所以我希望該人無法看到程序正在運行。 – user3466776

+1

然後@HovercraftFullOfEels說的是真的。在java中這很難做到,因爲你需要插入到OS鍵盤事件處理代碼中的東西。深入到系統內部並不是java擅長的,通過設計。 – lreeder

回答

2

你問:

我試圖讓,直到我按下一個按鈕,將無限地運行程序。該程序將在背景中運行,因此不會在任何時候打開顯示。 while(!certainButtonIsPressed){// Do Something}我怎樣才能讓someButtonIsPressed有效,而不是創建KeyBoardListener類?這可能沒有某種類型的Key偵聽器?

所以基本上你要做的是從後臺進程中捕獲平臺的所有按鍵,這是核心Java不能使用你提供的平臺特定的本機代碼,通過你已經獲得的一些庫,或者用你的Java程序與一些關鍵陷阱工具進行網格劃分。所以如果你的問題是,這可以通過核心Java來完成嗎?答案是:不。

如果您正在尋找非Java平臺特定的解決方案,那麼您需要提供更多詳細信息。我的建議不是使用Java來完成一項任務,如果這是針對Windows環境,則可以使用另一種語言(可能是AutoIt等腳本語言)更容易且完全地執行該任務。