在正常情况下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(); } }); } }
上面的代码片段的结果是: