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