簡體   English   中英

JavaFX時間線監聽器

[英]JavaFX timeline listeners

問題描述:

我有一個在兩個類之間共享的時間軸,並與滑塊綁定在一起。 在每個課程中,我都有一個監聽時間軸的東西,該時間軸可以執行某些操作。

在一個偵聽器中,我在某個時間點使用一些對象操縱一個數組+可能會出現對滑塊的某些更改=>時間軸的更改。

在另一個偵聽器中,我得到了當前時間並對其進行了一些處理。 但是,現在我正嘗試向此偵聽器添加功能,並檢查滑塊(maxValue)上的時間何時到達終點,並且還通過綁定時間軸的“終點”時間。 發生這種情況時,我想重新繪制滑塊並更改時間線以適應新的滑塊更改。

舉個例子:

我有一個從0到10分鍾的滑塊和一個綁定的時間軸。 所以,我想當時間軸/滑塊達到10分鍾時,然后重繪滑塊+調整時間軸,使其具有如下內容:0到20分鍾,當前時間為10分鍾。

LE:我嘗試做某事,但出現此錯誤(也許有幫助)

java.lang.NullPointerException
at com.sun.scenario.animation.shared.SimpleClipInterpolator.interpolate(SimpleClipInterpolator.java:132)
at com.sun.scenario.animation.shared.TimelineClipCore.playTo(TimelineClipCore.java:188)
at javafx.animation.Timeline.impl_playTo(Timeline.java:182)
at com.sun.scenario.animation.shared.InfiniteClipEnvelope.timePulse(InfiniteClipEnvelope.java:131)
at javafx.animation.Animation.impl_timePulse(Animation.java:953)
at com.sun.scenario.animation.shared.AnimationPulseReceiver$1.run(AnimationPulseReceiver.java:133)
at com.sun.scenario.animation.shared.AnimationPulseReceiver$1.run(AnimationPulseReceiver.java:131)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.scenario.animation.shared.AnimationPulseReceiver.timePulse(AnimationPulseReceiver.java:131)
at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:365)
at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:288)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:459)
at com.sun.javafx.tk.quantum.QuantumToolkit$9.run(QuantumToolkit.java:332)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:17)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:67)
at java.lang.Thread.run(Thread.java:744)

提前致謝!

現在可以了! 問題出在哪里:問題是我試圖從時間軸的currentProperty()的變更偵聽器中操縱keyFrame。

解決我的問題的方法實際上是為slider.maxProperty()創建另一個changelistener,在其中添加了想要的keyFrames。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM