-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