代码之家  ›  专栏  ›  技术社区  ›  Aly

获取JSlider栏在鼠标单击事件时移动

  •  1
  • Aly  · 技术社区  · 16 年前

    3 回复  |  直到 16 年前
        1
  •  4
  •   Timothy    16 年前

    你只需要改变你对这个问题的看法。

    不要将点击视为当前赌注的“左”或“右”(低于或高于)。

        2
  •  2
  •   camickr    16 年前

    import java.awt.*;
    import javax.swing.*;
    import javax.swing.plaf.basic.*;
    import javax.swing.plaf.metal.*;
    
    public class SliderScroll extends JFrame
    {
        public SliderScroll()
        {
            final JSlider slider = new JSlider(0, 50, 20);
            slider.setMajorTickSpacing(10);
            slider.setMinorTickSpacing(5);
            slider.setExtent(5);
            slider.setPaintTicks(true);
            slider.setPaintLabels(true);
            getContentPane().add( slider );
    
            slider.setUI( new MySliderUI() );
        }
    
        class MySliderUI extends MetalSliderUI
        {
            public void scrollByUnit(int direction)
            {
                synchronized(slider)
                {
                    int oldValue = slider.getValue();
                    int delta = (direction > 0) ? 10 : -5;
                    slider.setValue(oldValue + delta);
                }
            }
        }
    
        public static void main(String[] args)
        {
            JFrame frame = new SliderScroll();
            frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
            frame.pack();
            frame.setVisible( true );
         }
    }
    
        3
  •  1
  •   DareDevil    13 年前

    这就是我完成鼠标点击事件的方式

     MoveSlider = new JSlider(JSlider.HORIZONTAL, 0, 0, 0);
     MoveSlider.addMouseListener(new MouseListener()
    {
            public void mousePressed(MouseEvent event) {
                //Mouse Pressed Functionality add here
                  }
    
            @Override
            public void mouseClicked(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                }
            @Override
            public void mouseEntered(MouseEvent arg0) {
                // TODO Auto-generated method stub
                }
            @Override
            public void mouseExited(MouseEvent arg0) {
                // TODO Auto-generated method stub
                }
    
            @Override
            public void mouseReleased(MouseEvent arg0) {
                // TODO Auto-generated method stub
    });