NetBeans IDEにJava Swingアプリケーションがあります。KeyTypedEvent KeyEventのKeyCodeは常に0ですか?
私はフォームを作り、など、私のさまざまなコントロールにのKeyListenerを添付:
jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
keyTypedEvent(evt);
}
});
とkeyTypedEvent
などのように定義されます。
private void keyTypedEvent(java.awt.event.KeyEvent evt)
{
System.out.println(evt);
appendDisplay(String.valueOf(evt.getKeyChar()));
}
私が何を参照してevt
にprintln
を追加しました私のキーリストが機能することを確認することができます。 私が構築し、自分のアプリケーションを実行して、私は、出力が常にevt.getKeyCode()
をするkeycode = 0
これを確認するために、私は変わっていた私のprintlnを持っているようだと、常に0
は、私は可能性が戻っていることに気づきました完全のKeyCodeが何を誤解し、私はそれがここにOracleのドキュメント内の値とcoorespondだろうと思った:例えば
http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_ESCAPE
、VK_ESCAPEは27
012の値を持っています
のKeyListenerを使用しないでくださいOracleのチュートリアルで説明されています。 DocumentListenerまたはSwing Keyバインディングを使用してください。 –