У меня есть 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);
}
}
Заранее спасибо!