带有jSliders的Java计时器

时间:2013-05-28 20:58:17

标签: java timer slider

我对java中的滑块定时器有疑问。我的代码本质上是一个GUI,中心有一个移动的动画面板。此动画面板与创建实际帧的其他类位于不同的类中,具有计时器本身。

timer = new Timer(5, new Listener());
timer.start();

此计时器将触发并转到侦听器,该侦听器执行球的移动等方法。

我需要创建一个滑块,可以调整计时器的速度,使球移动得非常快或非常慢。如何使用一个类中的滑块和具有动画段的类中的实际计时器来执行此操作。 这是滑块及其各自的监听器:

slider = new JSlider(JSlider.HORIZONTAL,1,15,5);
slider.setMajorTickSpacing(5);
slider.setPaintTicks(true);
panel.add(slider, BorderLayout.SOUTH);

private class event implements ChangeListener
  {
     public void stateChanged(ChangeEvent e)
     {
        //int speed = slider.getValue();
            //JSlider altSlider = (JSlider) e.getSource();


         if(slider.getValueIsAdjusting()) 
            {
                speed = slider.getValue();
                //bumperPanel.changeTimer(speed);
                //bumperPanel.changeX(speed);
            }

     }
}

有没有办法调整计时器的速度以进行重大更改:

我评论了一些bumperPanel.changeX / changeTimer方法。这些方法没有用,所以我还需要一些帮助。

提前致谢!!

1 个答案:

答案 0 :(得分:0)

你如何测量速度?也许在几毫秒内?如果是这样,你必须将slider.getValue()转换为毫秒,然后从'bumberPanel'调用正确的方法!