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。