Java如何反转JSlider的值范围?

在正常情况下JSlider,值范围在水平方向上从左到右显示,JSlider在垂直方向上从下到上显示JSlider。要将滑块值从其正常顺序反转,可以使用实例的setInverted()方法JSlider。将true布尔值传递给此方法调用将颠倒值的顺序。

package org.nhooo.example.swing;

import javax.swing.*;
import java.awt.*;

public class JSliderInvertedDemo extends JPanel {
    public JSliderInvertedDemo() {
        initializeUI();
    }

    private void initializeUI() {
        setLayout(new BorderLayout());
        setPreferredSize(new Dimension(500, 200));

        JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 20, 10);
        slider.setMinorTickSpacing(1);
        slider.setMajorTickSpacing(5);
        slider.setPaintLabels(true);
        slider.setPaintTicks(true);

        //反转JSlider的值范围。在正常情况下
        // 水平JSlider最大值在右边
        //侧。指定反转为true会使最大值
        // 值放在左侧。
        slider.setInverted(true);

        add(slider, BorderLayout.CENTER);
    }

    public static void showFrame() {
        JPanel panel = new JSliderInvertedDemo();

        JFrame frame = new JFrame("Inverted JSlider");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setContentPane(panel);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JSliderInvertedDemo.showFrame();
            }
        });
    }
}

上面的代码片段的结果是: