使用JSlider实时更新JLabel

ia

我正在尝试使JSlider实时更新JLabel,但它只会出现错误。到目前为止,这是我的代码:

slider.addChangeListener(new ChangeListener() {
   public void stateChanged() {
       label.setText(String.valueOf(slider.getValue()));
   }
 });

谁能看到我哪里出问题了?谢谢,

充满鳗鱼的气垫船

我错了,您的代码中有一个非常基本的错误:您的stateChanged方法是错误的,因为它需要一个ChangeEvent参数。改变

public void stateChanged() {

public void stateChanged(ChangeEvent e) {

编译器错误消息应该告诉您所有这些信息,将来,您将希望认真阅读这些消息,因为这样做会为您省去很多麻烦。

例如:

import java.awt.BorderLayout;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class SliderFoo extends JPanel {
    private JSlider slider = new JSlider(0, 100, 50);
    private JLabel label = new JLabel("   ", SwingConstants.CENTER);

    public SliderFoo() {
        slider.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                label.setText(String.valueOf(slider.getValue()));
            }
        });

        slider.setMajorTickSpacing(20);
        slider.setMinorTickSpacing(5);
        slider.setPaintTicks(true);
        slider.setPaintLabels(true);

        JPanel topPanel = new JPanel();
        topPanel.add(new JLabel("Slider Value:"));
        topPanel.add(label);

        setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
        setLayout(new BorderLayout(5, 5));
        add(topPanel, BorderLayout.PAGE_START);
        add(slider);
    }

    private static void createAndShowGui() {
        SliderFoo mainPanel = new SliderFoo();

        JFrame frame = new JFrame("SliderFoo");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.getContentPane().add(mainPanel);
        frame.pack();
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            createAndShowGui();
        });
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用除法将JLabel绑定到JSlider?

来自分类Dev

使用JButton更新JLabel

来自分类Dev

实时更新textView(使用for)

来自分类Dev

使用线程实时更新JTextArea

来自分类Dev

使用 AJAX 实时更新表单

来自分类Dev

JSlider changeListener不会更新-Java

来自分类Dev

如何使用SwingWorker实时更新GUI?

来自分类Dev

使用Angular和Socket实时更新

来自分类Dev

使用Socket.io实时更新Highcharts

来自分类Dev

如何使用Firestore进行实时位置更新?

来自分类Dev

使用Angular和Socket进行实时更新

来自分类Dev

如何使用for循环的实时结果更新GUI?

来自分类Dev

使用 clientX/clientY 实时更新 rgba?

来自分类Dev

使用 PHP 进行实时数据更新

来自分类Dev

使用flask实时更新pyserial数据

来自分类Dev

使用文本输入实时更新 javascript 变量

来自分类Dev

我如何使用 Matplotlib 更新实时绘图

来自分类Dev

实时更新

来自分类Dev

JSlider无法从鼠标事件正确更新

来自分类Dev

如果JSlider更改,则更新JPanel边框

来自分类Dev

使用长时间运行的任务的结果重复更新JLabel

来自分类Dev

JLabel actionlistener,使用什么?自动更新标签

来自分类Dev

实时更新活动更新

来自分类Dev

如何使用Java使用EditText实时更新TextView

来自分类常见问题

JLabel中的更新时间?

来自分类Dev

Java JLabel不会更新

来自分类Dev

更新JLabel文字错误

来自分类Dev

单击按钮更新jLabel

来自分类Dev

更新 JLabel 文本