2011-11-07 12 views
1

タイマーに時間を設定するボタンが1つあります。だから今私はプッシュする。タイマーのボタンの時間が変更されていますが、これはまだ選択されています。このフレームでは、私はkeyListenerを持っていますので、開始時にスペースタイマーを押すと、スペースをプッシュするときにまだ選択されているので、このボタンをもう一度押します。私はそれをプッシュすると、このボタンを改善することができます、それは選択されません?JButtonの選択を解除する方法

答えて

4

あなたの質問を完全に理解しているかどうかはわかりません。 あなたはJButtonの上でクリックを無効にする場合:

b.setFocusable(false); 
+0

場合、私は彼の問題はあなたの最後の提案で解決されると思います。 1 +以上です。 –

+0

私はthxを探していた – hudi

0
:あなたも有用見つけることができる
b.setSelected(false); 

がフォーカス得るためにボタンを防ぐ:あなたはそれを選択解除したい場合は

JButton b = new JButton(); 
b.setEnabled(false); 

KeyboardFocusManagerで正しいメソッドを呼び出すことでフォーカスを変更できます

KeyboardFocusManager kfm = KeyboardFocusManger.getCurrentKeyboardFocusManager(); 
kfm.focusNextComponent(); 

これにより、フォーカスは次のコンポーネントに移動します。これは、コンポーネントが独立しているという利点があります。そのため、UIが変更された場合でも、フォーカスを受け取るために指定した特定のコンポーネントではなく、「次の」コンポーネントに移動します。

他のことが起こっているときにユーザーがボタンを押してもらいたくない場合は、ボタンを無効にして(前の説明の説明どおりに)、何らかの方法で起動できないようにすることを検討する必要があります。もちろん、再度使用することが合理的になるとすぐに、再度有効にする必要があります。 `;` setFocusable(偽):私が正しく元のポスターのポストを理解

RC

関連する問題