我遇到以下问题:
我有一个定制的双滑块,检查此滑块的每个值变化非常重要!
如果我现在改变左侧或右侧滑块有一个事件 - 处理!如果我点击滑块线上还有一个事件,但它不正确!
当我点击滑块线时,展位滑块会一起跳,值是实际的,但只有1个事件 - 汉德尔!
如何将这些事件绑定在一起?
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个事件触发器,而不是展位!
我该如何解决这个问题?
答案 0 :(得分:0)
我找到了解决方案。我必须将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();
}
});