Java 滑动方向
我想知道是否有可能知道拇指在滑块的哪一侧移动。我必须实现一个基于滑块的缩放功能,我可以放大,但不能缩小Java 滑动方向,java,swing,Java,Swing,我想知道是否有可能知道拇指在滑块的哪一侧移动。我必须实现一个基于滑块的缩放功能,我可以放大,但不能缩小 if (!zoomSlider.getValueIsAdjusting()) { double minY = model.getMinY(); double maxY = model.getMaxY(); double distanceY = maxY - minY; double posY =
if (!zoomSlider.getValueIsAdjusting()) {
double minY = model.getMinY();
double maxY = model.getMaxY();
double distanceY = maxY - minY;
double posY = minY + distanceY / 2.0;
if(?) {
distanceY /= zoomSlider.getValue();
} else {
distanceY *= zoomSlider.getValue();
}
minY = posY - distanceY / 2.0;
maxY = posY + distanceY / 2.0;
changeMaxY(maxY);
changeMinY(minY);
}
谢谢。我想我知道你想要什么。滑块用拇指在中间,当向左或向右滑动时,缩放直到释放鼠标。 如果是这样,您应该为滑块设置最大值,如9。然后,在循环中(我猜您是在循环中,否则您将创建一个mouserelease事件处理程序),您总是将值设置为5。滑动时,取当前值并从中减去5。现在,减法的结果应该表示缩放的速度。0表示没有缩放。所有积极的东西都意味着放大,所有消极的东西都意味着缩小 当我向右移动时,我想乘以1,2,3或4,当我向左移动时,我想除以1,2,3或4
跟踪“上一个”滑块值,以便将其与“当前”滑块值进行比较。当值增加时,你的乘法增加,当值减少时,你的除法是什么意思?为什么不能缩小,这似乎不相关?在我的计算中,我需要用滑块值除以一些距离,然后当我将滑块移动到上一个值时,我需要相乘。现在我不知道什么时候该除法还是乘法。我还是不明白,你的评论很让人困惑。你能发布计算结果和相关代码,或者更好的是一个SSCCE吗?我用计算结果编辑了我的消息。实际上我想要的是当我向右走时,我乘,当我向左走时,我除。假设我的滑块上有一个因子1,2,3,4。当我向右移动时,我想乘以1,2,3或4,当我向左移动时,我想除以1,2,3或4。