2011-10-06 11 views
1

現在のルックアンドフィールを使用している間に、ボタンプレス、を検出できるいくつかのJSpinnerコントロールを作成する必要があります。JSpinnerボタンイベントの検出

class CustomSpinnerUI extends BasicSpinnerUI { 
    @Override 
    protected Component createNextButton() { 
     // Add custom ActionListener. 
    } 

    @Override 
    protected Component createPreviousButton() { 
     // Add custom ActionListener. 
    } 
} 

を問題は、これを行うことで、私は私の残りの部分と同じ外観を使用して感じていない厄介に見えるスピナーで終わるということです。次のように私は簡単に十分にこれを行うことができ、私を発見しましたUI。私は現在Nimbusを使用していますが、私は別のL & Fコンフィギュレーションをサポートする必要があります。

私はおそらく何らかの動的プロキシを設定しようと考えましたが、私にそれを可能にする適切なSpinnerインターフェイスが見つかりませんでした。

誰も問題を回避できると思いますか?私はどちらかがBasicSpinnerUIをサブクラス化せずにボタンActionListenersで取得、または私のCustomSpinnerUI & F.

編集正しいLを使用して持つ方法出て作業する必要がある図:「デフォルトのルックアンドフィールを」 - >「現在のルックアンドフィール"自分の名前で識別

+1

同じ質問のように、最近のコメントから判断する、それが唯一の技術である

  • :-)別の話ですいつも...なぜ? – kleopatra

  • +0

    私は、同じ 'Calendar'インスタンスを共有する必要があるいくつかの時間と日付のスピナーを持っています。これはタッチスクリーン用ですので、1つのスピナーを持つだけであまりにも面倒です。問題に近づくより良い方法があれば、私は提案を聞きたいと思っていますが、質問を明確にしたいと思っていました... – vaughandroid

    +0

    Touch_Screenのための@Baqueta(私はLCD上の指の許容できるサイズに関する画像のみです) DateFormattedTextFieldでDate/DateTime/Time Formatterを使用し、アイコン付きの2つのJButton(右側の他の1つ)にアイコンがある場合、 – mKorbel

    答えて

    5

    「フック-でカスタムのactionListenerためのボタンにアクセスする方法」(concededly仮定)問題への汚れの技術的な答えは、スピナーの子をループしているとボタンにリスナーを追加し、:

    それはLAFがまたは尊重しない場合があり、文書化されていない実装の詳細に依存しているので、汚れてい
    JSpinner spinner = new JSpinner(); 
        Action action = new AbstractAction() { 
    
         @Override 
         public void actionPerformed(ActionEvent e) { 
          LOG.info("button " + ((Component) e.getSource()).getName()); 
         } 
        }; 
        for (Component child : spinner.getComponents()) { 
         if ("Spinner.nextButton".equals(child.getName())) { 
          ((JButton) child).addActionListener(action); 
         } 
         if ("Spinner.previousButton".equals(child.getName())) { 
          ((JButton) child).addActionListener(action); 
         } 
        } 
    
    • :金属、ニンバスありません。私が監督を考えるdoesntのを(勝つしかし、本当の問題は、どこか別の場所であるように思わとしてそれが問題
    +1

    +1おそらくJCalendar、JDatePicker、最も複雑なSwingXカレンダーのいくつかのためのその仕事 – mKorbel

    +0

    汚い答えが、私は間違ったアプローチを取っていたようです最初の問題は... – vaughandroid

    関連する問題