public class MooViewCounter extends JPanel {
- //public static final int LINE_LENGTH;
- private int measure, halfBeat, beat, halfNote;
- //private String check;
- //private Line[];
+ private int timeSig1, timeSig2, measure, halfBeat, beat, halfNote;
/**
* Creates
*/
- private int timeSig1, timeSig2;
-
public MooViewCounter (int ts1, int ts2) {
timeSig1 = ts1;
timeSig2 = ts2;
+ setBackground(Color.black);
+ setPreferredSize(new Dimension(35,200*10));
- switch (timeSig2) {
+ switch (timeSig2) {
case 16: measure = timeSig1;
break;
case 8: measure = timeSig1 * 2;
halfBeat = measure/timeSig1;
break;
- case 4: measure = timeSig1 * (int)Math.pow(2,2);
+ case 4: measure = timeSig1 * (int)Math.pow(2,2);
+ beat = measure/timeSig1;
+ halfBeat = beat/2;
break;
case 2: measure = timeSig1 * (int)Math.pow(2,3);
+ halfNote = measure/timeSig1;
+ beat = halfNote/2;
+ halfBeat = beat/2;
break;
- case 1: measure = timeSig1 * (int)Math.pow(2,4);
+ case 1: measure = timeSig1 * (int)Math.pow(2,4);
+ halfNote = measure/2;
+ beat = halfNote/2;
+ halfBeat = beat/2;
break;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
- setBackground(Color.black);
if (!(g instanceof Graphics2D)) return;
Graphics2D g2 = (Graphics2D)g;
- setPreferredSize(new Dimension(50,200*10));
g2.setColor(Color.white);
for (int c = 0; c < 200; c++) {
g2.drawLine(0,c*10,5,c*10); // 1/16
g2.drawLine(0,c*10*halfBeat,10,c*10*halfBeat); // 1/8
- g2.drawLine(0,c*10*(beat/4),15,c*10*(beat/4)); // 1/4
- g2.drawLine(0,c*10*(halfNote/2),20,c*10*(halfNote/2)); // 1/2
- g2.drawLine(0,c*10*measure,35,c*10*measure); // 1/1
+ g2.drawLine(0,c*10*beat,15,c*10*beat); // 1/4
+ g2.drawLine(0,c*10*halfNote,20,c*10*halfNote); // 1/2
+ g2.drawLine(0,c*10*measure,30,c*10*measure); // 1/1
}
}