Rog*_*ach 0 java keyboard swing keyboard-shortcuts keylistener
当我按下"Delete"键盘上的按钮,程序得到三个事件- KEY_PRESSED,KEY_TYPED和KEY_RELEASED.问题是,in KEY_PRESSED和KEY_RELEASED,参数"keyCode"设置,但KEY_TYPED它不是(事实上,在那个事件中没有有意义的信息).使用F5密钥,它甚至更有趣 - KEY_PRESSED并且KEY_RELEASED已注册,但KEY_TYPED从未发生过.
听众被添加了Toolkit.getDefaultToolkit().addAWTEventListener().使用JDK 6.26.
可能是我的问题?
编辑:以下Delete是按下键时发生的事件:
java.awt.event.KeyEvent[KEY_PRESSED,keyCode=127,keyText=Delete,keyChar=Delete,keyLocation=KEY_LOCATION_STANDARD,rawCode=119,primaryLevelUnicode=127,scancode=0] on javax.swing.JButton[,0,0,61x30,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.synth.SynthBorder@50f38cf0,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@6ae2d0b2,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=SVG,defaultCapable=false]
java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar=Delete,keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=127,scancode=0] on javax.swing.JButton[,0,0,61x30,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.synth.SynthBorder@50f38cf0,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@6ae2d0b2,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=SVG,defaultCapable=false]
java.awt.event.KeyEvent[KEY_RELEASED,keyCode=127,keyText=Delete,keyChar=Delete,keyLocation=KEY_LOCATION_STANDARD,rawCode=119,primaryLevelUnicode=127,scancode=0] on javax.swing.JButton[,0,0,61x30,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.synth.SynthBorder@50f38cf0,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@6ae2d0b2,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=SVG,defaultCapable=false]
Run Code Online (Sandbox Code Playgroud)
更好的是实现KeyBindings
键盘的一部分是保留内置JComponent功能的键,来自@camickrs的更多信息UIManager默认值
取决于原因你需要实现KeyListener的原因,因为对于各种JComponent有很多其他的监听器,应该在里面过滤或注册文本更改
一些JComponent模型从鼠标和键盘输入生成事件
| 归档时间: |
|
| 查看次数: |
1079 次 |
| 最近记录: |