OSDN Git Service

eVocaloid対応歌詞の配列で添字上限チェックが抜けていたのを修正
[midichordhelper/MIDIChordHelper.git] / src / camidion / chordhelper / midieditor / VelocitySelecter.java
1 package camidion.chordhelper.midieditor;\r
2 \r
3 import java.awt.Color;\r
4 import java.awt.Label;\r
5 \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
13 \r
14 /**\r
15  * ベロシティ選択ビュー\r
16  */\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
25                 }});\r
26                 add(slider = new JSlider(model) {{ setToolTipText("Velocity"); }});\r
27                 slider.addChangeListener(this);\r
28         }\r
29         public void stateChanged(ChangeEvent e) {\r
30                 label.setText( LABEL_PREFIX + getValue() );\r
31         }\r
32         @Override\r
33         public void setBackground(Color c) {\r
34                 super.setBackground(c);\r
35                 // このクラスが構築される前にスーパークラスの\r
36                 // Look & Feel からここが呼ばれることがあるため\r
37                 // null チェックが必要\r
38                 if( slider != null ) slider.setBackground(c);\r
39         }\r
40         public int getValue() { return slider.getValue(); }\r
41         public void setValue(int velocity) { slider.setValue(velocity); }\r
42 }