2012-02-24 80 views
0

我有一个基于JSlider的自定义组件。它基本上是一样的东西,只有它有两个拇指,我把它命名为DualSlider。Java - 自定义JSlider不会更新

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

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

然而,DualSlider的最大值,当我尝试使用它仍设置为原始值,无论多少次,我尝试使用我的计划去改变它。我可以用一些println语句来确认新的DualSliderUI正在使用具有新的最大值的滑块,但无论出于何种原因,我初始化滑块的原始DualSliderUI是正在使用的滑块。

当我更新一个属性时,我还有什么其他的事情可以确保我可以避免这种情况?

回答

1

1)我看不出理由使用updateUI()这应该一次的时间内完成,只有当你建立了这个JSlider,从来没有做到这一点repeately

2)你看看BoundedRangeModelmaybe