Java - пользовательский JSlider не будет обновляться - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть пользовательский компонент, основанный на JSlider. По сути, это то же самое, только 2 пальца, которые я назвал DualSlider.

Мне нужно время от времени менять максимальное значение ползунка, поэтому каждый раз, когда я это делаю, я вызываю updateUI, чтобы отразить это.

public void updateUI() {
    this.setUI(new DualSliderUI(this));
    this.updateLabelUIs();
}

Однако максимальное значение DualSlider, когда я пытаюсь его использовать, по-прежнему устанавливается на исходное значение, независимо от того, сколько раз я пытаюсь изменить его во время использования моей программы. С помощью нескольких операторов println я могу подтвердить, что новый DualSliderUI создается с помощью ползунка, который имеет новое максимальное значение, но по какой-то причине используется оригинальный DualSliderUI, с которым я инициализировал ползунок, именно тот, который используется.

Что еще мне нужно сделать, когда я обновляю свойство, чтобы избежать этого?

1 Ответ

1 голос
/ 24 февраля 2012

1) Я не вижу причины для использования updateUI(), это должно быть сделано один раз, только когда вы построили это JSlider, никогда не делайте это повторно

2) вы смотрите на BoundedRangeModel , возможно

...