Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีตรวจจับการเปลี่ยนแปลงค่า JSlider ใน Java


JSlider เป็นคลาสย่อยของ JComponent คล้าย scroll bar ให้ผู้ใช้เลือกค่าตัวเลขจากช่วงที่กำหนด มี knob เลื่อนได้ และสร้างอินเทอร์เฟซ ChangeListener

เราสามารถตรวจจับค่าที่เปลี่ยนเมื่อเลื่อน slider แนวนอนได้โดยใช้คลาส Graphics2D และ override เมธอด 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();
    }
}

ผลลัพธ์

วิธีตรวจจับการเปลี่ยนแปลงค่า JSlider ใน Java