📜  Java摇摆 | JS滑块

📅  最后修改于: 2022-05-13 01:55:38.314000             🧑  作者: Mango

Java摇摆 | JS滑块

JSlider 是Java Swing 包的一部分。 JSlider 是一个滑块的实现。该组件允许用户通过在有界值内滑动旋钮来选择一个值。滑块可以显示主要刻度线以及两个主要刻度线之间的次要刻度线,旋钮只能定位在这些点上。
该类的构造函数是:

  1. JSlider() :创建一个水平方向的新滑块,最大值和最小值分别为 100 和 0,滑块值设置为 50。
  2. JSlider(BoundedRangeModel b) : 创建一个水平方向和指定边界范围模型的新 Slider。
  3. JSlider(int o) :创建一个具有指定方向的新滑块,最大值和最小值分别为 100 和 0,滑块值设置为 50。
  4. JSlider(int min, int max) :创建一个水平方向的新滑块,并指定最大值和最小值,并将滑块值设置为最大值和最小值的平均值。
  5. JSlider(int min, int max, int value) :创建一个新的滑块,具有水平方向和最大值、最小值和指定的滑块值。
  6. JSlider(int o, int min, int max, int value) :创建一个新的滑块,具有方向和最大值、最小值以及指定的滑块值。

常用功能

  1. setOrientation(int n) :将滑块的方向设置为指定值
  2. setValue(int v) :将滑块的值设置为指定值
  3. setPaintTicks(boolean b) : boolean 值决定是否在滑块上绘制刻度
  4. setPaintTrack(boolean b) : 布尔值决定是否在滑块上绘制轨道
  5. setMajorTickSpacing(int n) :设置主要刻度的间距。
  6. setMinorTickSpacing(int n) :设置小刻度的间距。
  7. setFont(Font f) : 设置滑块文本的字体
  8. setMaximum(int m) : 设置滑块的最大值
  9. setMinimum(int m) : 设置滑块的最小值
  10. updateUI() :将 UI 属性重置为当前外观的值。
  11. setValueIsAdjusting(boolean b) :将模型的 valueIsAdjusting 属性设置为 boolean b。
  12. setUI(SliderUI ui) :设置实现此组件外观的 UI 对象。
  13. setSnapToTicks(boolean b):如果传递 true,则滑块位置放置到最近的刻度。
  14. setModel(BoundedRangeModel n) :设置处理滑块三个基本属性的 BoundedRangeModel:最小值、最大值、值。
  15. setLabelTable(Dictionary l) :用于指定将在任何给定值处绘制的标签。
  16. setInverted(boolean b):如果传递 true,则滑块设置为反转。
  17. imageUpdate(Image img, int s, int x, int y, int w, int h):当图像改变时重新绘制组件。
  18. setExtent(int extent) :设置旋钮“覆盖”范围的大小。
  19. removeChangeListener(ChangeListener l):从滑块中移除一个 ChangeListener。
  20. getModel():返回处理滑块三个基本属性的 BoundedRangeModel:最小值、最大值、值。
  21. getSnapToTicks() :如果旋钮(及其代表的数据值)解析到用户放置旋钮的位置最近的刻度线,则返回 true。
  22. getUI():获取实现该组件 L&F 的 UI 对象。
  23. getPaintTrack() :返回是否绘制轨道。
  24. getPaintTicks() : 返回是否绘制刻度
  25. getPaintLabels() : 返回标签是否被绘制
  26. getOrientation() :返回组件的方向。
  27. getMinorTickSpacing() :返回次要刻度间距
  28. getMinimum():返回最小值
  29. getMaximum():返回最大值
  30. getMajorTickSpacing() :返回主要刻度间距。
  31. addChangeListener(ChangeListener l):添加一个 ChangeListener 到滑块。\
  32. createChangeListener() :为组件创建更改监听器
  33. setUI(SliderUI ui) :设置呈现此组件的外观对象。
  34. getUI() :返回呈现此组件的外观对象。
  35. paramString() :返回此 JSlider 的字符串表示形式。
  36. getUIClassID() :返回呈现此组件的外观类的名称。
  37. getAccessibleContext() :获取与此 JSlider 关联的 AccessibleContext。

以下程序将说明 JSlider 的使用
1.程序创建一个简单的JSlider

Java
// java Program to create a simple JSlider
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve s = new solve();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider();
 
        // add slider to panel
        p.add(b);
 
        f.add(p);
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
}


Java
// java Program to create a slider with min and
// max value and major and minor ticks painted.
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ChangeListener {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // label
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve s = new solve();
 
        // create label
        l = new JLabel();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider(0, 200, 120);
 
        // paint the ticks and tracks
        b.setPaintTrack(true);
        b.setPaintTicks(true);
        b.setPaintLabels(true);
 
        // set spacing
        b.setMajorTickSpacing(50);
        b.setMinorTickSpacing(5);
 
        // setChangeListener
        b.addChangeListener(s);
 
        // add slider to panel
        p.add(b);
        p.add(l);
 
        f.add(p);
 
        // set the text of label
        l.setText("value of Slider is =" + b.getValue());
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
 
    // if JSlider value is changed
    public void stateChanged(ChangeEvent e)
    {
        l.setText("value of Slider is =" + b.getValue());
    }
}


Java
// java Program to create a vertical slider with
// min and max value and major and minor ticks
// painted and set the font of the slider.
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ChangeListener {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // label
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve s = new solve();
 
        // create label
        l = new JLabel();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider(0, 200, 120);
 
        // paint the ticks and tracks
        b.setPaintTrack(true);
        b.setPaintTicks(true);
        b.setPaintLabels(true);
 
        // set spacing
        b.setMajorTickSpacing(50);
        b.setMinorTickSpacing(5);
 
        // setChangeListener
        b.addChangeListener(s);
 
        // set orientation of slider
        b.setOrientation(SwingConstants.VERTICAL);
 
        // set Font for the slider
        b.setFont(new Font("Serif", Font.ITALIC, 20));
 
        // add slider to panel
        p.add(b);
        p.add(l);
 
        f.add(p);
 
        // set the text of label
        l.setText("value of Slider is =" + b.getValue());
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
 
    // if JSlider value is changed
    public void stateChanged(ChangeEvent e)
    {
        l.setText("value of Slider is =" + b.getValue());
    }
}


输出 :

2.程序创建一个带有最小值和最大值以及主要和次要刻度的滑块。

Java

// java Program to create a slider with min and
// max value and major and minor ticks painted.
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ChangeListener {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // label
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve s = new solve();
 
        // create label
        l = new JLabel();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider(0, 200, 120);
 
        // paint the ticks and tracks
        b.setPaintTrack(true);
        b.setPaintTicks(true);
        b.setPaintLabels(true);
 
        // set spacing
        b.setMajorTickSpacing(50);
        b.setMinorTickSpacing(5);
 
        // setChangeListener
        b.addChangeListener(s);
 
        // add slider to panel
        p.add(b);
        p.add(l);
 
        f.add(p);
 
        // set the text of label
        l.setText("value of Slider is =" + b.getValue());
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
 
    // if JSlider value is changed
    public void stateChanged(ChangeEvent e)
    {
        l.setText("value of Slider is =" + b.getValue());
    }
}

输出 :

3.程序创建一个带有最小值和最大值以及主要和次要刻度的垂直滑块,并设置滑块的字体。

Java

// java Program to create a vertical slider with
// min and max value and major and minor ticks
// painted and set the font of the slider.
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ChangeListener {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // label
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve s = new solve();
 
        // create label
        l = new JLabel();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider(0, 200, 120);
 
        // paint the ticks and tracks
        b.setPaintTrack(true);
        b.setPaintTicks(true);
        b.setPaintLabels(true);
 
        // set spacing
        b.setMajorTickSpacing(50);
        b.setMinorTickSpacing(5);
 
        // setChangeListener
        b.addChangeListener(s);
 
        // set orientation of slider
        b.setOrientation(SwingConstants.VERTICAL);
 
        // set Font for the slider
        b.setFont(new Font("Serif", Font.ITALIC, 20));
 
        // add slider to panel
        p.add(b);
        p.add(l);
 
        f.add(p);
 
        // set the text of label
        l.setText("value of Slider is =" + b.getValue());
 
        // set the size of frame
        f.setSize(300, 300);
 
        f.show();
    }
 
    // if JSlider value is changed
    public void stateChanged(ChangeEvent e)
    {
        l.setText("value of Slider is =" + b.getValue());
    }
}

输出 :

注意:以上程序可能无法在在线编译器中运行,请使用离线 IDE