2016-12-02 14 views
1

ボタンから反復アクションのためにボタンに触れる限り使用される初期の遅延と間隔を追加するには、Buttonからクラスを派生したいと思います。ボタンの子孫に反復アクションを導入する最も良い方法

最初は十分に単純だと思われましたが、com.codename1.ui.Button.setState(int)メソッドはパッケージへのアクセス権しか持たないためオーバーライドできません。正当な理由がありますか?

私は気づいた、そのボタンは、pointerReleasedでactionPerformedを呼び出します。 My Button子孫はactionPerformedを繰り返し呼び出す必要がありますが、Buttonの親コンテナはスクロールされていません。これはうまくいけばボタンの状態STATE_PRESSED、ちょうど対応するでしょうか?

+0

作成しようとしているUIの種類がわかりません。トグルボタンを作成しようとしていますか? 'setState'メソッドは、非タッチデバイスでのUIインタラクションを意図した状態なので内部的です。ロールオーバーはタッチデバイスには意味がありません。 –

+0

私がやろうとしているのは、getX()をオーバーライドしてgetState()を使用し、Buttonが押し下げられている間にTimerが繰り返されるアクションを実行したことです。そして、私は同意しません - 押した状態はタッチデバイスでも使用されます –

+0

申し訳ありません、 "私はいくつかの状態があると言っています..." –

答えて

1

私はあなたが何を意味するかを正しく理解していれば、私はちょうどpressed法上のタイマーを開始したいとを繰り返したときにタイマーが経過super.pressed & super.released呼び出します。

+0

私はいくつかのボタンをPCキーボードのキーのように動作させたい。そのために、ボタンの子孫が押されたことを知る必要があります。そして、私は、与えられた初期の遅延とButtonアクションを発生させる所定の間隔でTimerを作成します。ボタンが離されると、私はタイマーをキャンセルします。 –

+0

はい、それは明らかでした。これは私が答えていたものです。 –

関連する問題