我有以下问题:
我有一个自定义的Dual-Slider,检查此滑块的每个Value Change非常重要!
如果我现在更改左侧或右侧滑块,则会发生一个事件-处理!如果我单击滑块的行,则还有一个事件,但它不正确!
当我单击滑块的线时,展位滑块将一起跳跃,这些值是实际的,但是只有1个Event-Handelt!
我如何将这些事件绑定在一起?
m_slider.value1Property().addListener(new ChangeListener()
{
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2)
{
try
{
handleSlider();
}
catch (Exception e)
{
}
}
});
m_slider.value2Property().addListener(new ChangeListener()
{
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2)
{
try
{
handleSlider();
}
catch (Exception e)
{
}
}
});
在这里您可以看到我的事件绑定!如果Value1(向左滑块)或Value2(向右滑块)更改了其中的值,则将发生事件触发。但是,如果它们的展位发生变化,则值(单击滑块的行)将只有1个事件触发器,而不是展位!
我该如何解决这个问题?
我找到了解决方案。我必须将Change-Listener事件添加到textProperty!如果有变化,活动将处理其他任何事情!
m_minSlider.textProperty().addListener(new ChangeListener()
{
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2)
{
handleSlider();
}
});
m_maxSlider.textProperty().addListener(new ChangeListener()
{
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2)
{
handleSlider();
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句