Метод setValue
определенно работает, поэтому я бы проверил, что значение, которое вы передаете в setValue
, действительно находится в пределах минимального и максимального значения, с которым вы настроили ползунок (т.е. убедитесь, что вы вы не передаете процентное значение вместо целого числа).
Второе, на что следует обратить внимание: вы должны вызывать setValue
только в потоке диспетчеризации событий. Конечно, вы можете вычислить значение, которое будет передано в setValue
вне четного потока диспетчеризации, но любое обновление значения в компоненте Swing должно выполняться в четном потоке диспетчеризации (т. Е. С использованием SwingUtilities.invokeLater
)