如何在 Java 中检测 JSlider 的值变化?

javaobject oriented programmingprogramming更新于 2024/5/10 1:56:00

JSliderJComponent 类的子类,它类似于滚动条,允许用户从指定范围的整数值中选择一个数值。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();
   }
}

输出


相关文章