JSlider 松开滑块后, 比如 value 从 50 递增到 100,在 stateChanged 事件中判断后,需要返回到 50 的位置。
如何做出这种效果?

解决方案 »

  1.   

    加一个MouceListener就可以了松开的时候返回原来地值
      

  2.   

    import java.awt.BorderLayout;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;import javax.swing.BorderFactory;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JSlider;public class JSliderDemo { public static void main(String[] args) {
    show();
    } public static void show() { final JLabel label = new JLabel();
    final JSlider framesPerSecond = new JSlider(JSlider.HORIZONTAL, 0, 100,
    50); JFrame frame = new JFrame("JSlider"); framesPerSecond.setMajorTickSpacing(10);
    framesPerSecond.setMinorTickSpacing(1);
    framesPerSecond.setPaintTicks(true);
    framesPerSecond.setPaintLabels(true);
    framesPerSecond.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); framesPerSecond.addMouseListener(new MouseAdapter() {
    public void mouseReleased(MouseEvent e) {
    System.out.println(e.getSource()); framesPerSecond.setValue(50);
    }
    });
    frame.getContentPane().setLayout(new BorderLayout()); frame.setSize(400, 400); frame.getContentPane().add(framesPerSecond, BorderLayout.NORTH);
    frame.getContentPane().add(label, BorderLayout.SOUTH); frame.setVisible(true); }
    }
      

  3.   

    http://community.csdn.net/Expert/topic/5359/5359558.xml?temp=.2563898
    http://community.csdn.net/Expert/topic/5359/5359557.xml?temp=.567425你进去分都给你