我有一个基于JSlider的自定义组件。它基本上是相同的东西,只有它有2个拇指,我将其命名为DualSlider。
我需要偶尔更改滑块的最大值,所以每次我都这样做,我会调用updateUI来反映这一点。
public void updateUI() {
this.setUI(new DualSliderUI(this));
this.updateLabelUIs();
}
然而,当我尝试使用它时,DualSlider的最大值仍然设置为原始值,无论我在使用我的程序时尝试更改它的次数。我可以通过一些println语句确认新的DualSliderUI是使用具有新的最大值的滑块制作的,但无论出于何种原因,我初始化滑块的原始DualSliderUI是正在使用的滑块。
我有什么其他的事情可以确保我在更新房产时这样做,以便我可以避免这种情况?
答案 0 :(得分:1)
1)我无法看到使用的原因updateUI()
这应该一次完成,只有当你构建了这个JSlider
时,再也不会这样做
2)您已查看BoundedRangeModel,maybe