package com.quiltplayer.view.swing.util;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JSlider;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class VolumePane extends ValuePane {
private static final long serialVersionUID = 1L;
public static final String ACTION_CMD = "volume.change";
private JSlider volumeSlider;
private int volume;
private ActionListener listener;
public VolumePane() {
volume = 1;
volumeSlider = new JSlider(SwingConstants.HORIZONTAL);
volumeSlider.setValue(1);
volumeSlider.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
int newValue = volumeSlider.getValue();
setValue(newValue);
listener.actionPerformed(new ActionEvent(new Object(), 0,
ACTION_CMD));
}
});
// volume.setActionCommand(ACTION_CMD);
add(volumeSlider);
}
/*
* @see org.coverok.view.ValuePane#getValue()
*/
@Override
public int getValue() {
return volume;
}
/*
* @see org.coverok.view.ValuePane#setValue(int)
*/
@Override
public void setValue(int value) {
volume = value;
}
public void addActionListener(ActionListener l) {
this.listener = l;
}
public void removeActionListener(ActionListener listener) {
this.listener = null;
}
}