1 package camidion.chordhelper.midieditor;
\r
3 import java.awt.Color;
\r
4 import java.awt.Label;
\r
6 import javax.swing.BoundedRangeModel;
\r
7 import javax.swing.BoxLayout;
\r
8 import javax.swing.JLabel;
\r
9 import javax.swing.JPanel;
\r
10 import javax.swing.JSlider;
\r
11 import javax.swing.event.ChangeEvent;
\r
12 import javax.swing.event.ChangeListener;
\r
17 public class VelocitySelecter extends JPanel implements ChangeListener {
\r
18 private static final String LABEL_PREFIX = "Velocity=";
\r
19 public JSlider slider;
\r
20 public JLabel label;
\r
21 public VelocitySelecter(BoundedRangeModel model) {
\r
22 setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
\r
23 add(label = new JLabel(LABEL_PREFIX + model.getValue(), Label.RIGHT) {{
\r
24 setToolTipText("Velocity");
\r
26 add(slider = new JSlider(model) {{ setToolTipText("Velocity"); }});
\r
27 slider.addChangeListener(this);
\r
29 public void stateChanged(ChangeEvent e) {
\r
30 label.setText( LABEL_PREFIX + getValue() );
\r
33 public void setBackground(Color c) {
\r
34 super.setBackground(c);
\r
35 // このクラスが構築される前にスーパークラスの
\r
36 // Look & Feel からここが呼ばれることがあるため
\r
38 if( slider != null ) slider.setBackground(c);
\r
40 public int getValue() { return slider.getValue(); }
\r
41 public void setValue(int velocity) { slider.setValue(velocity); }
\r