我正在用Java創建一個簡單的文本編輯器,並試圖添加撤銷和重做功能。我希望程序能夠確定用戶是否停止在文本區域中鍵入,而不僅僅是他們是否輸入了字符。程序應該只保存一個字符,只有它是他們輸入的唯一字符。你會如何去做這件事?Java:確定用戶是否已停止輸入
0
A
回答
2
定義「停止鍵入」。基本上,我會考慮使用計時器。採取每個字符事件,添加一個計數器和一個計時器,每次有Key Up事件時重新啓動。當足夠的時間過去時,定義「停止輸入」。
然後想想如果你真的想要這樣做,因爲這聽起來像是什麼東西,會讓我絕對火把手和草撬鎖到開發者家瘋了。
+1
很好的建議,以及有關想着如果真的是你,或者更重要的是,你的用戶想要什麼好點。要非常小心地自動化事情太多。你不想結束使用類似Word的東西,當你觸發不明確的規則時,它似乎會隨機地重新格式化文本。 –
0
某處一個主類;
public static long lastKeyPressTime = 0l;
在您的KeyListener接口中;
public void keyPressed(KeyEvent evt) {
lastKeyPressTime = System.currentTimeMillis();
}
最後,在一個適當的,快速運行的線程中;
if((system.currentTimeMillis() - lastKeyPressTime) > 2000) {
//do something, because the user hasnt typed for two seconds
}
+0
這不是線程安全的。 'lastKeyPressTime'或許應該被打上'volatile'這裏,由「快速運行」線程的觀察,同時寫入它從EDT。 – zmb
相關問題
- 1. 停止在用戶輸入
- 2. 停止用戶輸入'char
- 3. 停止*作爲用戶輸入輸入
- 4. 如何確定用戶是否輸入了錯誤的輸入?
- 5. 如何檢測用戶是否停止在EditText中輸入android
- 6. 當用戶進入停止「輸入」鍵
- 7. JAVA-無法檢查用戶輸入日期是否正確
- 8. 確定帳戶是否已過期PHP
- 9. 確定用戶輸入是迴文
- 10. 確定用戶輸入是否使用C++迴文
- 11. 檢測用戶是否已停止滾動頁面
- 12. 停止用戶輸入到編輯框?
- 13. 停止用戶輸入特殊字符
- 14. C - scanf沒有停止用戶輸入
- 15. Java - 如何從用戶輸入未確定數量的輸入
- 16. 如何確定應用程序池是否已終止或暫停?
- 17. jquery確定用戶是否正在輸入
- 18. 確定用戶輸入字段是否爲空
- 19. magento確定用戶是否輸入了送貨信息
- 20. 如何確定用戶的輸入是否爲空?
- 21. Python - 存儲用戶輸入並檢查輸入是否已輸入?
- 22. Java程序在請求用戶輸入後停止運行
- 23. 停止從閱讀用戶輸入java的掃描儀?
- 24. 確保SqlDependency已停止
- 25. 有來自用戶的是/否輸入確定while循環是否繼續
- 26. 確定輸入是否爲域
- 27. 當用戶輸入掃描儀只是空行,程序停止
- 28. 使用Go來確定過程/程序是否已被終止
- 29. 檢測用戶是否停止鍵入Angular 2
- 30. 檢查Word是否已正確終止
它是一個好主意。你知道javax.swing API嗎? – adatapost