現在のルック アンド フィールを使用しながら、ボタンの押下を検出できる JSpinner コントロールを作成する必要があります。次のように、これを簡単に実行できることがわかりました。
class CustomSpinnerUI extends BasicSpinnerUI {
@Override
protected Component createNextButton() {
// Add custom ActionListener.
}
@Override
protected Component createPreviousButton() {
// Add custom ActionListener.
}
}
問題は、これを行うことで、残りの UI と同じルック アンド フィールを使用しない見苦しいスピナーになってしまうことです。現在使用してNimbus
いますが、異なる L&F 構成をサポートする必要があります。
ある種の動的プロキシをセットアップすることを考えましたが、それSpinner
を可能にする適切なインターフェースが見つかりませんでした。
誰でも問題を回避する方法を考えることができますか? ActionListeners
をサブクラス化せずにボタンを取得するか、正しい L&F を使用するBasicSpinnerUI
方法を考え出す必要があると考えています。CustomSpinnerUI
編集: 「デフォルトのルック アンド フィール」 -> 「現在のルック アンド フィール」。