JSlider滑动方向

时间:2011-06-08 11:48:18

标签: java swing

我想知道是否可以知道滑块在滑块的哪一侧移动。我必须实现基于滑块的缩放功能,我可以放大,但不能缩小。

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);
        }

谢谢。

2 个答案:

答案 0 :(得分:0)

我想我知道你想要什么。一个滑块,拇指在中间,当向左或向右滑动时,它会一直缩放,直到你松开鼠标。

如果是这样,你应该为你的滑块设置一个最大值,比如9.然后,在你的循环中(我猜你是在循环中,否则你创建了一个mouserelease事件处理程序),你总是将值设置为5。滑动,你取当前值并从中减去5。现在减法的结果应该代表缩放的速度。 0表示没有缩放。一切积极意味着放大,一切消极意味着缩小。

答案 1 :(得分:0)

  

当我向右移动时,我想乘以1,2,3或4,当我向左移动时,除以1,2,3或4。

跟踪“上一个”滑块值,以便将其与“当前”滑块值进行比较。当这个值增加你的乘法时,当它减小时你就会分开。