0

我对 Java 中带有 Sliders 的计时器有疑问。我的代码本质上是一个图形用户界面,中间有一个移动的动画面板。此动画面板与创建实际帧的其他类位于一个单独的类中,它本身具有计时器。

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方法。这些方法不起作用,所以我仍然需要一些帮助。

提前致谢!!

4

1 回答 1

0

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

于 2013-05-28T21:27:16.997 回答