如何在 Java 中检测 JSlider 的值更改?
JSlider 是 JComponent 类的子类,它类似于滚动条,允许用户从指定的整数值范围内选择一个数值。JSlider 有一个旋钮,可以在一系列值上滑动,并用于选择一个特定值。它可以生成一个ChangeListener 接口。
使用 Graphics2D 类并覆盖 paint() 方法,我们可以检测 slider 在水平移动时值的变化。
示例
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();
}
}输出
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP