如何在 Java 中检测 JSlider 的值变化?
javaobject oriented programmingprogramming更新于 2024/5/10 1:56:00
JSlider 是 JComponent 类的子类,它类似于滚动条,允许用户从指定范围的整数值中选择一个数值。JSlider 有一个 旋钮,它可以在一系列值上滑动,并可用于选择特定值。它可以生成 ChangeListener 接口。
我们可以使用 Graphics2D 类检测滑块水平移动时的值变化并覆盖 paint() 方法。
示例
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ValueChangeJSliderTest extends JFrame { private JSlider slider; public ValueChangeJSliderTest() { setTitle("ValueChangeJSlider Test"); slider = new JSlider(JSlider.HORIZONTAL, 0, 20, 1); slider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent ce) { repaint(); } }); setLayout(new BorderLayout()); slider.setBackground(Color.white); slider.setMajorTickSpacing(1); slider.setPaintTicks(true); slider.setPaintLabels(true); add(slider, BorderLayout.NORTH); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; g2d.setFont(new Font("Serif", Font.ITALIC, 25)); g2d.drawString(""+slider.getValue(), 200, 130); } public static void main(String[] args) { new ValueChangeJSliderTest(); } }