2015-10-15 83 views
0

我正在编写一个程序,显示当您移动滑块时将会移动的图像。我在听众部分遇到问题。我如何确实检查滑块是否正在移动以及朝哪个方向移动?在Java中使用滑块,如何检测滑块是左右变化的?

private class CarListener implements ChangeListener{ 
    int x = car.getX(); 

    public void stateChanged(ChangeEvent e){ 
     if(){ //If slider goes right 
      x++; 
      pp.showImage(imga, x, 10); 
     } 
     else if(){ //If slider goes left 
      x--; 
      pp.showImage(imga, x, 10); 
     } 
    } 

回答

1

您可以通过调用滑块上的.getValue()来获取滑块的值。然后,您可以将其与最后一个已知值进行比较。在你的情况下,你甚至可以用滑块的值更新x。

编辑:.getValue()当然会返回一个int,所以只需转换它。

+0

尝试过,但我似乎无法得到它的工作。我做了一个新的变量:int sliderPos = jslider1.getValue();我现在检查如果sliderPos> 0它应该加1到x。如果其他sliderPos <0,它应该减少x。但它所做的只是增加到x。 – Baxtex

+0

getValue返回绝对值,而不是相对值。你的滑块有一个起点(左侧)和一个终点(右侧)。默认情况下这是0-100。所以当sliderPos> 50时,你必须将某物添加到x,并且当sliderPos <50时移除某物 – Friwi