-1
A
回答
2
如果我正確地理解了這個問題,您可以使用DocumentFilter
來做這件事,並且只允許插入文本,假設按鍵的延遲時間高於0.5秒。
例子:
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.text.AbstractDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.DocumentFilter;
public class Example {
public Example() {
JTextArea textArea = new JTextArea();
((AbstractDocument) textArea.getDocument()).setDocumentFilter(new DocumentFilter() {
String lastStr = "";
long time = System.currentTimeMillis();
@Override
public void replace(FilterBypass fb, int offset, int length, String str, AttributeSet attr)
throws BadLocationException {
long delay = System.currentTimeMillis() - time;
time = System.currentTimeMillis();
if (str.equals(lastStr) && delay <= 500) {
return;
}
lastStr = str;
super.replace(fb, offset, length, str, attr);
}
});
JFrame frame = new JFrame();
frame.setContentPane(textArea);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args) {
new Example();
}
}
0
有一個容器,(HashSet的,ArrayList中,不管你喜歡),並有期待類似這樣的僞代碼按鍵方法/釋放
add:
if(!list.contains("key to enter")) addKey();
remove:
if(list.contains("key to remove")) removeKey();
在你的方法結束
然後,更新文本區域與列表中的數據。
相關問題
- 1. 按Enter鍵時停止'丁'
- 2. 按住按鍵時的連續動作
- 3. 按下按鍵時停止'丁'聲
- 4. 如何在連續兩次按下「Enter」鍵時終止`System.in`鍵盤流?
- 5. 如何模擬連續按鍵
- 6. as3 - 兩個按鍵按下時如何停止動畫?
- 7. 按Esc鍵停止調試
- 8. 停止按鍵事件
- 9. 按Home鍵停止服務
- 10. 停止影響jQuery的鍵盤按鍵
- 11. <enter>停止按鍵時工作
- 12. 如何在按鍵上停止javascript(即ESC鍵)
- 13. 如何使用「空格鍵或回車鍵」等鍵盤按鍵停止按下按鈕。 C#
- 14. 在Android上連續按兩次鍵?
- 15. 鍵被按下時記錄,鍵被釋放時停止
- 16. 如何在按下ENTER鍵的同時停止「叮」聲
- 17. 在C++停止無限循環時按鍵被按下
- 18. Django:當多次按Enter鍵時,停止重新提交重複數據
- 19. Autohotkey:按住鍵調整鍵重複按鍵
- 20. 如何在按下美元鍵時找出按下按鍵或按鍵事件時的按鍵
- 21. 如何設置鍵盤按鍵事件後按下但不是連續
- 22. 如何防止按鍵上的ENTER鍵
- 23. tcl暫停和等待按鍵繼續
- 24. 如何防止在android中短時間連續按下按鈕?
- 25. 按Enter鍵繼續
- 26. 鍵盤按鍵重複率和延遲
- 27. 重複按鍵每一秒
- 28. Windows上的按鍵重複
- 29. 如何在按鍵時通過aJax停止重新發送腳本?
- 30. 如何防止按鍵被按下? C#
肯定的,但如果有人想按住鍵?你將打破某些確定的用戶體驗期望。你爲什麼需要這種方法?你想解決什麼問題? – KevinO
我有一個計算器,我根本不需要這個功能。 –
讓用戶決定如何將數據輸入到文本區域。以此評論框爲例。對我來說,按住111111111111111是沒有意義的,但評論框允許。不要擔心這樣的小事。 (1-)。 – camickr