我有一个基于 JSlider 的自定义组件。它本质上是一样的,只是它有 2 个拇指,我将其命名为 DualSlider。
我需要不时更改滑块的最大值,所以每次我这样做时,我都会调用 updateUI 来反映这一点。
public void updateUI() {
this.setUI(new DualSliderUI(this));
this.updateLabelUIs();
}
但是,无论我在使用程序时尝试更改多少次,DualSlider 在尝试使用时的最大值仍然设置为原始值。我可以通过一些 println 语句确认正在使用具有新最大值的滑块制作新的 DualSliderUI,但无论出于何种原因,我初始化滑块的原始 DualSliderUI 是正在使用的那个。
当我更新属性时,我还必须确保做哪些其他事情才能避免这种情况?