首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请教java怎么人为建立一个KeyEvent类的实例

2012-01-06 
请问java如何人为建立一个KeyEvent类的实例?本人想建立一个键盘”end“键被按下的一个KeyEvent实例在TextFie

请问java如何人为建立一个KeyEvent类的实例?
本人想建立一个键盘     ”end“键被按下的一个KeyEvent实例在TextField对象上(使用java编码方式而非人为按动”end“键),请问如何建立     ,希望大家多多帮忙!    
KeyEvent类的构造函数     我没有看懂     希望大家可以贴出个可以编译的源码让我看看     谢谢    
 
-----     java中     改该构造函数的说明如下    
KeyEvent    
public     KeyEvent(Component     source,    
                                                              int     id,    
                                                              long     when,    
                                                              int     modifiers,    
                                                              int     keyCode,    
                                                              char     keyChar)构造一个     KeyEvent     对象。        
注意,传入无效的     id     将导致不明确的行为。如果     source     为     null,则此方法抛出     IllegalArgumentException。        
 
 
参数:    
source     -     产生事件的     Component    
id     -     标识事件类型的整数    
when     -     指定事件发生时间的     long     型整数    
modifiers     -     事件期间按下的修改键(shift、ctrl、alt、meta)。应该使用扩展的     _DOWN_MASK     修饰符或旧的     _MASK     修饰符,但是在一个事件中不应混用两种模型。首选扩展的修饰符。    
keyCode     -     实际键的整数代码,或者为     VK_UNDEFINED(对于键入键事件)    
keyChar     -     此事件所生成的     Unicode     字符,或者为     CHAR_UNDEFINED(对于未映射到有效     Unicode     字符的按下键和释放键事件)        
抛出:        
IllegalArgumentException     -     如果     id     为     KEY_TYPED     且     keyChar     为     CHAR_UNDEFINED;或者     id     为     KEY_TYPED     且     keyCode     不为     VK_UNDEFINED        
IllegalArgumentException     -     如果     source     为     null

[解决办法]
大家帮忙看看可以吗?
[解决办法]
是不是想模擬一個 'end '鍵按下的動作?
robot可以做到
[解决办法]
robot.keyPress(int keycode)


[解决办法]
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class testFrame extends JFrame{

private JTextField textField;
public testFrame() {
super();

final JPanel panel = new JPanel();
panel.setLayout(null);
getContentPane().add(panel, BorderLayout.CENTER);

textField = new JTextField();
textField.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode()==KeyEvent.VK_END){
System.out.println( "你按的是END ");
}
}
});
textField.setBounds(41, 44, 90, 21);
panel.add(textField);

this.setSize(400,300);
this.setVisible(true);

}


public static void main(String[] args) {
new testFrame();
}

}
[解决办法]
没想过,如果是我,我会想办法去触发对像的相应的方法就行了,为什么要创建事件呢?

热点排行