1

我很抱歉最近发布了大量问题。

我正在尝试让 JSlider 根据不断更新的变量来更新其位置。

setValue(n) 方法似乎不起作用。有没有其他选择?我们将其用作音乐播放器的时间标记。

4

2 回答 2

2

只要您正确配置了最小值和最大值,setValue()就可以使用。确实需要重新绘制的JSlider机会,因此请确保您没有占用事件调度线程。如果您的代码正在响应任何 UI 事件,那么您就在调度线程上并且应该尽快返回。

在后台线程上执行任何昂贵的计算。网上有很多优秀的教程

于 2009-12-05T07:52:27.217 回答
0

setValue方法确实有效,因此我会检查您传入的值setValue是否确实在您配置滑块的最小值和最大值范围内(即检查您是否没有传入百分比值整数)。

需要注意的第二件事:您应该只调用setValue事件调度线程。当然,您可以计算要传递到setValue偶数调度线程之外的值,但是对 Swing 组件中的值的任何更新都应该在偶数调度线程中完成(即使用SwingUtilities.invokeLater

于 2009-12-05T07:58:54.260 回答