我有一个JSlider,它在中间设置节拍器的速度,从40-200,其中默认值为120。

当用户单击节拍器按钮时,节拍器以JSlider上显示的速度播放-用户向右拖动滑块,节拍器的速度增加,而向左滑动则降低。

如何添加功能,以便如果用户双击JSlider按钮,则默认默认为120-在中间?

这是我的代码:

public Metronome() {
    tempoChooser = new JSlider();
    metronomeButton = new JToggleButton();

    JLabel metText = new JLabel("Metronome:");
    add(metText);

    ...

    tempoChooser.setMaximum(200);
    tempoChooser.setMinimum(40);
    tempoChooser.addChangeListener(new javax.swing.event.ChangeListener() {
        public void stateChanged(javax.swing.event.ChangeEvent evt) {
            tempoChooserStateChanged(evt);
        }
    });
    add(tempoChooser);
    ...
    }

private void tempoChooserStateChanged(javax.swing.event.ChangeEvent evt) {
    final int tempo = tempoChooser.getValue();
    if (((JSlider) evt.getSource()).getValueIsAdjusting()) {
        setMetronomeButtonText(tempo);
    } else {
        processTempoChange(tempo);
    }
}

提前致谢!

最佳答案

这应该可以帮助您:http://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

您需要阅读并实现MouseListener。您可以使用int getClickCount()来计算用户单击的次数,这将帮助您阅读双击。

希望这可以帮助!

09-08 01:36