[Java] JSlider的用法 →→→→→进入此内容的聊天室

来自 , 2020-10-11, 写在 Java, 查看 143 次.
URL http://www.code666.cn/view/795c7a7a
  1. package com.sxt.img;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Component;
  5. import java.util.Dictionary;
  6. import java.util.Hashtable;
  7.  
  8. import javax.swing.Box;
  9. import javax.swing.BoxLayout;
  10. import javax.swing.JFrame;
  11. import javax.swing.JLabel;
  12. import javax.swing.JSlider;
  13. import javax.swing.JTextField;
  14. import javax.swing.event.ChangeEvent;
  15. import javax.swing.event.ChangeListener;
  16.  
  17. public class JSliderTest
  18. {
  19.         JFrame frame = new JFrame("JSlider测试");
  20.         Box sliderBox = new Box(BoxLayout.Y_AXIS);
  21.         JTextField showValue = new JTextField();
  22.         ChangeListener listener = null;
  23.  
  24.         public void init()
  25.         {
  26.                 listener = new ChangeListener()
  27.                 {
  28.                         @Override
  29.                         public void stateChanged(ChangeEvent e)
  30.                         {
  31.                                 JSlider slider = (JSlider) e.getSource();
  32.                                 showValue.setText("当前值:" + slider.getValue());
  33.                         }
  34.                 };
  35.  
  36.                 JSlider slider = new JSlider();
  37.                 addSlider(slider, "普通滚动条");
  38.  
  39.                 slider = new JSlider();
  40.                 slider.setExtent(30);// 设置滚动条的保留区为30
  41.                 addSlider(slider, "保留区为30");
  42.  
  43.                 slider = new JSlider(30, 200);
  44.                 slider.setPaintTicks(true);
  45.                 slider.setMajorTickSpacing(20);
  46.                 slider.setMinorTickSpacing(5);
  47.                 addSlider(slider, "带刻度");
  48.  
  49.                 slider = new JSlider();
  50.                 slider.setSnapToTicks(true);// 设置滚动条只停留在有刻度的地方
  51.                 slider.setPaintTicks(true);
  52.                 slider.setMinorTickSpacing(5);
  53.                 slider.setMajorTickSpacing(100);
  54.                 addSlider(slider, "滑块停在刻度处");
  55.  
  56.                 slider = new JSlider();
  57.                 slider.setPaintTrack(false);
  58.                 slider.setPaintTicks(true);
  59.                 slider.setMinorTickSpacing(5);
  60.                 slider.setMajorTickSpacing(100);
  61.                 addSlider(slider, "没有滑动轨道的滚动条");
  62.  
  63.                 slider = new JSlider();
  64.                 slider.setPaintTicks(true);
  65.                 slider.setMajorTickSpacing(100);
  66.                 slider.setMinorTickSpacing(5);
  67.                 slider.setInverted(true);
  68.                 addSlider(slider, "设置没有反向的滚动条");
  69.  
  70.                 slider = new JSlider();
  71.                 slider.setPaintTicks(true);
  72.                 slider.setMinorTickSpacing(5);
  73.                 slider.setMajorTickSpacing(100);
  74.                 slider.setPaintLabels(true);// 设置刻度标签
  75.                 addSlider(slider, "数值刻度标签");
  76.  
  77.                 slider = new JSlider();
  78.                 slider.setPaintTicks(true);
  79.                 slider.setMinorTickSpacing(5);
  80.                 slider.setMajorTickSpacing(100);
  81.                 slider.setPaintLabels(true);
  82.                 Dictionary<Integer, Component> labels = new Hashtable<Integer, Component>();
  83.                 labels.put(0, new JLabel("A"));
  84.                 labels.put(20, new JLabel("B"));
  85.                 labels.put(40, new JLabel("C"));
  86.                 labels.put(60, new JLabel("D"));
  87.                 labels.put(80, new JLabel("E"));
  88.                 labels.put(100, new JLabel("F"));
  89.                 slider.setLabelTable(labels);
  90.                 addSlider(slider, "JLable标签");
  91.                
  92.                 frame.add(sliderBox);
  93.                 frame.add(showValue, BorderLayout.SOUTH);
  94.                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  95.                 frame.pack();
  96.                 frame.setVisible(true);
  97.         }
  98.  
  99.         public void addSlider(JSlider slider, String description)
  100.         {
  101.                 slider.addChangeListener(listener);
  102.                 Box box = new Box(BoxLayout.X_AXIS);
  103.                 JLabel label = new JLabel(description);
  104.                 box.add(label);
  105.                 box.add(slider);
  106.                 sliderBox.add(box);
  107.         }
  108.  
  109.         public static void main(String[] args)
  110.         {
  111.                 new JSliderTest().init();
  112.         }
  113.  
  114. }
  115.  

回复 "JSlider的用法"

这儿你可以回复上面这条便签

captcha