这样的方法可以吗?当textfield内容变化时触发。
void jTextField1_inputMethodTextChanged(InputMethodEvent e) {
.....
}
void jTextField1_inputMethodTextChanged(InputMethodEvent e) {
.....
}
解决方案 »
- 有没有什么配置在调用一个类方法的同时调用另一个方法
- 普通类实例为什么不能直接调用Object的clone方法
- 请问如何在JTextPane中将某些字符串显示为超链接
- java 中如何实现像jsp中的程序级的变量
- 用Java动态代理实现AOP
- 编译器在把.java文件变成.class文件的过程中都干了些啥?
- 数据库的money类型,在java中用哪个数据类型
- 强烈要求新开Mobile Agent论坛
- weblogic 6 下载?
- 哪位用过Cryptix.jar这个加密包?(急)
- ◆◆JBuilder环境下,怎样单步执行代码?◆◆
- 高分求教:如何用JAVA实现文字的半角→全角,全角→半角的转换?。。。。。。。。
.....................
if(e.getResouce==jTextField[1])
...................
ActionListener,那么鼠标移动到JLabel上操作时,鼠标事件全被JLabel
捕获,不能被JPanel所捕获,只有在JPanel的无组件区操作鼠标时,才
会被JPanel捕获,也就是说JPanel捕获不到它包含的组件上的动作也许有方法可以把JPanel里的组件事件全部转移给JPanel,至少现在我还不会你想那样做的原因是什么呢?如果你的JTextField用数组,那么设置监听只
需要个循环,监听处理可以通过 instanceof 判断是哪一种组件产生了键盘
事件
EventQueue can dispatch events. But why you should use it?
所用的是JDK1.1以后引入的委托(delegation)处理模型
(比如addKeyListener),每个组件注册自己的监听程序,在委托模型下
各个组件有自己的监听程序,即使把组件和其父容器注册到同个监听程序,
那么组件监听会优先于父容器监听,所以委托模型是无法完成楼主的要求的在JDK1.0的时候,JAVA的事件处理是使用层次(hierarchal)模型,这种模型
主要基于容器和组件的包含关系:一个事件对象产生后,首先被传给直接
相关的组件,该组件可以对事件进行处理,也可以忽略事件而不进行处理。
如果组件未对事件进行处理,则AWT事件处理系统会将事件对象继续向上
传递给组件所在的容器。依此类推。
所以层次模型是可以完成楼主的要求的,不过层次模型用java.awt.Event类
和handleEvent()方法来完成事件处理,实现起来比委托模型要复杂的多
public void eventDispatched(AWTEvent e) {
if (e instanceof KeyEvent) {
KeyEvent key = (KeyEvent) e;
System.err.println(key.getComponent());
System.err.println(key.getSource());
System.err.println(key.getKeyChar());
}
}
}, AWTEvent.KEY_EVENT_MASK);
呵呵,大家可以试试上面的方法,可以监听一个JPanel中所有的KEY事件,如果想监听其它事件,如Focus,只要将AWTEvent.KEY_EVENT_MASK 改为 FOCUS_EVENT_MASK有兴趣的朋友可以进来讨论一个它的原理。