Java - 自定义JSlider不会更新

时间:2012-02-24 05:16:49

标签: java swing custom-component jslider

我有一个基于JSlider的自定义组件。它基本上是相同的东西,只有它有2个拇指,我将其命名为DualSlider。

我需要偶尔更改滑块的最大值,所以每次我都这样做,我会调用updateUI来反映这一点。

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

然而,当我尝试使用它时,DualSlider的最大值仍然设置为原始值,无论我在使用我的程序时尝试更改它的次数。我可以通过一些println语句确认新的DualSliderUI是使用具有新的最大值的滑块制作的,但无论出于何种原因,我初始化滑块的原始DualSliderUI是正在使用的滑块。

我有什么其他的事情可以确保我在更新房产时这样做,以便我可以避免这种情况?

1 个答案:

答案 0 :(得分:1)

1)我无法看到使用的原因updateUI()这应该一次完成,只有当你构建了这个JSlider时,再也不会这样做

2)您已查看BoundedRangeModelmaybe