私は2つのJPanelを持っています。最初のものには3つのJButtonがあり、2番目のものはキーボードから読み取られたイベントに基づいて画像を描画することです。でJButtonを設定すると、setEnabled(false);
期待どおりにキーボードイベントを使用できます(上矢印を押すと画像が上に移動します)が、ボタンを有効にすると画像に何も起こりません。スペースバーを押しても、ボタンをクリックした場合と同じように動作します。
質問する
520 次
1 に答える
5
問題はJButtonにありませんが、KeyListenerを使用していることが原因である可能性があります。回避できる場合は、Swing GUIでKeyListenerを使用せず、代わりにキーバインディングを使用してください。KeyListenerは、リッスンされているコンポーネントにフォーカスがある場合にのみ機能します。JButtonが存在する場合、KeyListenerはフォーカスを取得し、KeyListenerが機能しないようにします。キーバインディングを正しく実行すると、この問題を回避できます。
たとえば、ここで私のコード例を参照してください。
于 2012-08-14T03:06:52.623 に答える