1

私は2つのJPanelを持っています。最初のものには3つのJButtonがあり、2番目のものはキーボードから読み取られたイベントに基づいて画像を描画することです。でJButtonを設定すると、setEnabled(false);期待どおりにキーボードイベントを使用できます(上矢印を押すと画像が上に移動します)が、ボタンを有効にすると画像に何も起こりません。スペースバーを押しても、ボタンをクリックした場合と同じように動作します。

4

1 に答える 1

5

問題はJButtonにありませんが、KeyListenerを使用していることが原因である可能性があります。回避できる場合は、Swing GUIでKeyListenerを使用せず、代わりにキーバインディングを使用してください。KeyListenerは、リッスンされているコンポーネントにフォーカスがある場合にのみ機能します。JButtonが存在する場合、KeyListenerはフォーカスを取得し、KeyListenerが機能しないようにします。キーバインディングを正しく実行すると、この問題を回避できます。

たとえば、ここで私のコード例を参照してください。

于 2012-08-14T03:06:52.623 に答える