protected void consume() {
switch(id) {
case KeyEvent.KEY_PRESSED:
case KeyEvent.KEY_RELEASED:
case MouseEvent.MOUSE_PRESSED:
case MouseEvent.MOUSE_RELEASED:
case MouseEvent.MOUSE_MOVED:
case MouseEvent.MOUSE_DRAGGED:
case MouseEvent.MOUSE_ENTERED:
case MouseEvent.MOUSE_EXITED:
consumed = true;
break;
default:
// event type cannot be consumed
}
} protected boolean isConsumed() {
return consumed;
}
switch(id) {
case KeyEvent.KEY_PRESSED:
case KeyEvent.KEY_RELEASED:
case MouseEvent.MOUSE_PRESSED:
case MouseEvent.MOUSE_RELEASED:
case MouseEvent.MOUSE_MOVED:
case MouseEvent.MOUSE_DRAGGED:
case MouseEvent.MOUSE_ENTERED:
case MouseEvent.MOUSE_EXITED:
consumed = true;
break;
default:
// event type cannot be consumed
}
} protected boolean isConsumed() {
return consumed;
}
解决方案 »
- for循环嵌套问题。
- 关于编码问题!急
- 求思路, 需要做一个容器,容器内的元素既需要用上list功能(用于排序),也需要用上Map功能(用于key快速搜索),请问一般大家是如何实现?
- 怎么给Vector里面的元素排序 有现成的方法吗
- 关于声音文件路径的问题!
- [分享]清华计算机讲义大全! 编译原理,操作系统(1,2),数据结构(1,2,3,4),网络,微机原理
- 字符显示问题
- 关于JMF的问题!
- 入门者 问 如何使用自己写的类 (详细见内)
- 有关Jbuilder4?
- help! JAVA下有类似VC++ 下的socket 类吗?请各位高手看一下!!
- 为什么JCreator Pro 2.00_007不能进行单步调试,Build菜单下单步调试的选项是灰色的???好痛苦。。
Limit TextField input to a maximum length
[JDK11] import java.awt.*;
import java.awt.event.*;public class TextFieldWithLimit extends TextField
implements KeyListener {
private int maxLength;
public TextFieldWithLimit
(String initialStr,int col,int maxLength) {
super(initialStr,col);
this.maxLength = maxLength;
addKeyListener(this);
}
public TextFieldWithLimit (int col,int maxLength) {
this("",col,maxLength);
} public void keyPressed(KeyEvent e) {
char c = e.getKeyChar();
int len = getText().length();
if (len < maxLength) {
return;
}
else {
if((c==KeyEvent.VK_BACK_SPACE)||
(c==KeyEvent.VK_DELETE) ||
(c==KeyEvent.VK_ENTER)||
(c==KeyEvent.VK_TAB)||
e.isActionKey())
return;
else {
e.consume();
}
}
}
public void keyReleased(KeyEvent e) { }
public void keyTyped(KeyEvent e) { }
}
好象运行e.consume()后,consume由false 变为true,再运行一下e.consume(),那个consume()还是不变啊!!!给你们加分先!!