Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để phát hiện sự thay đổi giá trị của một JSlider trong Java?


A JSlider là một lớp con của JComponent lớp và nó tương tự như thanh cuộn cho phép người dùng chọn một giá trị số từ một phạm vi giá trị số nguyên được chỉ định. Một JSlider có một núm có thể trượt trên một loạt giá trị và có thể được sử dụng để chọn một giá trị cụ thể. và nó có thể tạo ChangeListener giao diện.

Chúng tôi có thể phát hiện giá trị đã thay đổi khi thanh trượt được di chuyển theo chiều ngang bằng cách sử dụng Graphics2D lớp và ghi đè paint () phương pháp.

Ví dụ

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();
   }
}

Đầu ra

Làm cách nào để phát hiện sự thay đổi giá trị của một JSlider trong Java?