如何在 Java 中确定 JSlider 当前是否正在捕捉刻度标记?
java 8object oriented programmingprogramming更新于 2025/9/1 13:32:17
首先,我们将创建一个滑块并将其设置为捕捉刻度标记:
JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 40); slider.setMinorTickSpacing(10); slider.setMajorTickSpacing(20); slider.setPaintTicks(true); slider.setPaintLabels(true); slider.setSnapToTicks(true);
之后,我们将检查滑块当前是否正在捕捉刻度标记。结果将显示在 TRUE/FALSE 布尔值中
slider.getSnapToTicks()
在控制台中显示结果,如下所示:
System.out.println("Snapping to tick marks? = "+slider.getSnapToTicks());
以下是确定滑块当前是否正在捕捉刻度线的示例:
示例
package my;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.WindowConstants;
public class SwingDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("Frame with Slider");
JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 40);
slider.setMinorTickSpacing(10);
slider.setMajorTickSpacing(20);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setBackground(Color.CYAN);
slider.setForeground(Color.black);
slider.setSnapToTicks(true);
System.out.println("Snapping to tick marks? = "+slider.getSnapToTicks());
Font font = new Font("Serif", Font.BOLD, 13);
slider.setFont(font);
JPanel panel = new JPanel();
panel.add(slider);
frame.add(panel);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(600, 300);
frame.setVisible(true);
}
}
输出

控制台将显示滑块是否捕捉到刻度标记:


