【发布时间】:2012-02-27 08:11:45
【问题描述】:
我有一个 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);
}
}
提前致谢!
【问题讨论】:
标签: java swing reset double-click jslider