从JSlider的值更改JLabel的值

Mar*_*ung 3 java swing jlabel jslider

我有一个JPanel,其中包含JSlider和JLabel。我想对其进行配置,以便当用户更改JSlider的值时,新值将由JLabel反映出来。

我了解可以使用Slider触发ChangeEvents,但是我不知道如何向JLabel添加ChangeListener。这是我的代码片段。

scaleSlider.addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent event)
    {
        int currentTime = ((JSlider)event.getSource()).getValue();
        doSomething(currentTime);
        fireStateChanged(event);
    }

JLabel timeValue = new JLabel("Time: " + scaleSlider.getValue());
timeValue.add??? 
Run Code Online (Sandbox Code Playgroud)

(我现在不知道该怎么做以反映滑块中的更改)

我是否正朝着正确的方向前进?在此先感谢您的帮助。

cam*_*ckr 5

您不会在JLabel上监听ChangeEvents。您在JSlider上侦听ChangeEvents,然后在stateChanged()方法中简单地使用

label.setText("Time: " + scaleSlider.getValue());
Run Code Online (Sandbox Code Playgroud)

也无需从ChangeLisetner触发任何事件。