키보드의 "Delete"
버튼을 누르면 KEY_PRESSED
, KEY_TYPED
및 KEY_RELEASED
의 세 가지 이벤트가 발생합니다. 문제는 KEY_PRESSED
및 KEY_RELEASED
에 매개 변수 "keyCode"
이 설정되어 있지만 KEY_TYPED
에는 실제로 해당 이벤트에 의미있는 정보가 없습니다. F5
키를 사용하면 KEY_PRESSED
및 KEY_RELEASED
이 등록되지만 KEY_TYPED
은 결코 발생하지 않습니다.Java 키보드 이벤트의 이상한 동작
청취자는 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,[email protected],flags=288,maximumSize=,minimumSize=,preferredSize=,[email protected],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,[email protected],flags=288,maximumSize=,minimumSize=,preferredSize=,[email protected],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,[email protected],flags=288,maximumSize=,minimumSize=,preferredSize=,[email protected],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]
여기서 어떤 문제가 발생합니까? 이것이 정상적인 행동인지 확인 했습니까? 그렇다면 필요한 정보가없는 경우 KEY_TYPED와 같으면 이벤트를 무시하는 if 문 만 있으면 안됩니까? – Mike
@ 마이크 - 내 문제는 사용자가 키보드에서 Del 또는 F5를 입력 할 때 정말로 알아야 할 문제입니다. – Rogach
KEY_PRESSED keyCode에서 해당 정보를 가져올 수 없습니까? – Mike