0

私のコードの主要なチャンクはpresentationController(JFrame を拡張する) です。その中で、タイプのオブジェクトを作成します

scrollPane = projectsScrollPane();(JScrollPane を拡張します)。

タイプ のオブジェクトも作成しますpresentation

オブジェクトscrollPaneには

Timer timer = new Timer();
TimerTask task = new velocityCalc();

ここで、velocityCalc は次のように記述されます

public class velocityCalc extends TimerTask {... do stuff ...}

オブジェクト内で、presentation上記のタイマーをキャンセルし、後で更新したいのですが、更新できません。

キャンセルは次のようになります。

presentationController.scrollPane.task.cancel;

これは期待どおりに機能します。新しいタスクの作成は次のようになります。

presentationController.scrollPane.task = new presentationController.scrollPane.velocityCalc();
presentationController.scrollPane.timer.scheduleAtFixedRate(presentationController.scrollPane.task, 0, 30);

しかし、最初の行の等号の後の部分に赤い下線が引かれ (エラー)、

"Create class 'velocityCalc' in package 'presentationController.scrollPane'"

2 行のコードは、mouseListener (mouseReleased) 内にあります。

このコードは以前は完全に機能していましたが、そのときはすべてのコードが に含まれていpresentationControllerました。それ以来、上記のようにTimerandTimerTaskを に移動しprojectScrollPane、コードの制御行を に移動しましたpresentation

何かご意見は?うまくいけば、これは十分に明確です!

前もって感謝します!

編集 - 解決策:

projectsScrollPaneを更新するメソッドを作成しましたが、task正常に動作するようになりました。おそらく、すべてを公開するのではなく、そもそもどのように行うべきだったのでしょう。

public void createTimer(){
    task = new velocityCalc();
}
4

0 に答える 0