1

私は使用しました

chkBox.setIcon();
chkBox.setSelectedIcon();
chkBox.setDisabledIcon();
chkBox.setDisabledSelectedIcon();

JCheckbox のカスタム アイコンを設定します。しかし、現在、フォーカスがチェックボックスの 1 つに移動した場合、チェックボックスにフォーカスがあることを示す境界線やその他のものは表示されません。

カスタマイズされたチェックボックスにフォーカスがあるときにフィードバックを提供する方法を知っている人はいますか?

ありがとう

4

2 に答える 2

2

あなたの問題は間違いなく、アプリケーションで使用しているルック アンド フィール (L&F) に依存します (セットアップしていない場合は、MetalLookAndFeel を使用していると思いますか?)。

とにかく、多くの解決策があるかもしれません:

  1. JCheckBox が実際にfocusableandであることを確認しますfocus painted。一部の L&F はフォーカス ペインティングをオフにする可能性があることに注意してください -checkBox.setFocusPainted()メソッドを確認してください。

  2. デフォルトのフォーカス ペインティングに満足できない場合は、より適切なフォーカス インジケーターをペイントする独自の CheckBoxUI を作成することをお勧めします。ただし、UI の作成には基本的な知識が必要です。

  3. フォーカス表示をチェック アイコン自体に直接描画する場合は、現在のチェック状態と一緒に描画する独自のアイコン ベースの実装を作成できます。実際の例を見たい場合は、状態に依存するアイコンに関する別のトピックにカスタム アイコンの例を投稿しました。

他の解決策があるかもしれませんが、使用している L&F によって異なります...

于 2012-09-24T11:10:42.573 に答える
0

このすぐに使用できるチェックボックスの代替手段を使用できます:http: //codetoearn.blogspot.com/2013/01/swing-fantasy-checkbox-with-customized.html

于 2013-01-18T08:16:09.473 に答える