Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我很抱歉最近发布了大量问题。
我正在尝试让 JSlider 根据不断更新的变量来更新其位置。
setValue(n) 方法似乎不起作用。有没有其他选择?我们将其用作音乐播放器的时间标记。
只要您正确配置了最小值和最大值,setValue()就可以使用。确实需要重新绘制的JSlider机会,因此请确保您没有占用事件调度线程。如果您的代码正在响应任何 UI 事件,那么您就在调度线程上并且应该尽快返回。
setValue()
JSlider
在后台线程上执行任何昂贵的计算。网上有很多优秀的教程。
该setValue方法确实有效,因此我会检查您传入的值setValue是否确实在您配置滑块的最小值和最大值范围内(即检查您是否没有传入百分比值整数)。
setValue
需要注意的第二件事:您应该只调用setValue事件调度线程。当然,您可以计算要传递到setValue偶数调度线程之外的值,但是对 Swing 组件中的值的任何更新都应该在偶数调度线程中完成(即使用SwingUtilities.invokeLater)
SwingUtilities.invokeLater