Automatic scroll of JSlider

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • gbayo1
    New Member
    • Nov 2006
    • 1

    Automatic scroll of JSlider

    Hi, I was just wondering would anybody be able to show us how to use a button, that when pressed, automatically scrolls a JSlider across say from 0 - 100 at a certain speed or whatever.

    If anyone can help, I'd really appreciate it
  • sivadhas2006
    New Member
    • Nov 2006
    • 142

    #2
    Hi,

    This may satisfy your need...

    Code:
     
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JSlider;
    public class TestFrame extends JFrame
    {
    private static final long serialVersionUID = 1L;
    JButton				 m_btnMoveSlider = null;
    JSlider				 m_objSlider	 = null;
    public class TestThread extends Thread
    {
    		public void run()
    		{
    			super.run();
    			int nValue = m_objSlider.getValue();
    			int nMaxValue = m_objSlider.getMaximum();
    			do
    			{
    			 nValue = nValue + 5;
    			 try
    			 {
    				 Thread.sleep(100);
    			 }
    			 catch (InterruptedException e)
    			 {
    				 e.printStackTrace();
    			 }
    			 m_objSlider.setValue(nValue);
    			}
    			while (nValue < nMaxValue);
    			m_btnMoveSlider.setEnabled(true);
    			m_btnMoveSlider.requestFocus();
    		}
    };
    TestFrame()
    {
    		m_btnMoveSlider = new JButton("Move Slider");
    		m_objSlider = new JSlider(0, 100, 0);
    		m_btnMoveSlider.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent a_e)
    			{
    			 m_objSlider.setValue(0);
    			 m_btnMoveSlider.setEnabled(false);
    			 TestThread objThread = new TestThread();
    			 objThread.start();
    			}
    		});
    		Container con = getContentPane();
    		con.setLayout(new BorderLayout());
    		con.add(m_btnMoveSlider, BorderLayout.NORTH);
    		con.add(m_objSlider, BorderLayout.CENTER);
    		setSize(500, 100);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args)
    {
    		TestFrame objJFrame = new TestFrame();
    		objJFrame.show();
    }
    };
    Regards,
    M.Sivadhas.

    Comment

    • aijdissanayake
      New Member
      • Dec 2015
      • 1

      #3
      moving sliders

      @sivadhas2006
      your answer was really helpful to me too. Thanks

      Comment

      Working...