0

lwuitでkeypressedメソッドフォームをオーバーライドするには? ユーザーがキーパッドから数字の 1 を押したと仮定すると、ユーザーが 1 を押したことをどのように知ることができますか? キャンバスでは、keypressed メソッドを処理するだけです。しかし、このメソッドをどのように処理するかはわかりません。そして、どのリスナーを実装する必要がありますか?

4

2 に答える 2

1

フォームの keyPressed/Released メソッドをオーバーライドできます (通常は release をオーバーライドする必要があります)。フォーカス可能なすべてのコンポーネントにもこれらのメソッドがあり、フォーカスがあるときに keyPressed/Released 呼び出しを受け取るため、コンポーネントでそれらをオーバーライドすることもできます。数字/文字キーに対して受け取るキーコードは、実際の文字です (例: ケース '1')。

フォームでキー リスナー/ゲーム リスナーを使用して、フォームのグローバル リスナーを登録できます (addKeyListener、addGameKeyListener)。

これらのボタンの値はプラットフォーム間で異なることが多いため、LWUIT にはナビゲーション/アクション ボタンの「ゲーム キー」の概念があることに注意してください。

于 2011-05-19T09:23:01.047 に答える
0

keypressed はインターフェイスのメソッドであるため、クラスでそのメソッドを常にオーバーライドします

この例を参照してください

正確なキーコードがわからない場合は、キーコードを印刷してください

public void keyPressed(keyCode){
System.out.println(keyCode);
}

プログラムを実行し、「1」を押して出力を確認します

于 2011-05-06T06:51:04.240 に答える