]> ruin.nu Git - moosique.git/blob - MooViewCounter.java
nu är den klar
[moosique.git] / MooViewCounter.java
1 import javax.swing.*;
2 import java.awt.*;
3
4 /**
5  * 
6  * 
7  * @author  Andersson, Andreen, Lanneskog, Pehrson
8  * @version 1
9  */
10  
11 public class MooViewCounter extends JPanel {
12
13         private int timeSig1, timeSig2, measure, halfBeat, beat, halfNote;
14
15         /** 
16          * Creates 
17          */
18         public MooViewCounter (int ts1, int ts2) {
19                 timeSig1 = ts1;
20                 timeSig2 = ts2;
21                 setBackground(Color.black);
22                 setPreferredSize(new Dimension(35,200*10));
23                 
24                 switch (timeSig2) {
25                         case  16: measure = timeSig1;  
26                         break;
27                         case  8: measure = timeSig1 * 2;
28                                          halfBeat = measure / timeSig1;
29                         break;
30                         case  4: measure = timeSig1 * 4;
31                                          beat = measure / timeSig1;
32                                          halfBeat = beat / 2;     
33                         break;
34                         case  2: measure = timeSig1 * 8; 
35                                          halfNote = measure / timeSig1;
36                                          beat = halfNote / 2;
37                                          halfBeat = beat / 2;
38                         break;
39                         case  1: measure = timeSig1 * 16;
40                                      halfNote = measure/2;
41                                          beat = halfNote/2;
42                                          halfBeat = beat/2;
43                         break;
44                 }
45                 
46         }
47
48         public void paintComponent(Graphics g) {
49                 super.paintComponent(g);
50                 if (!(g instanceof Graphics2D)) return;
51                 Graphics2D g2 = (Graphics2D)g;
52                 g2.setColor(Color.white);
53                 for (int c = 0; c < 200; c++) {
54                         g2.drawLine(0,c*10,5,c*10);                                                     // 1/16
55                         g2.drawLine(0,c*10*halfBeat,10,c*10*halfBeat);                  // 1/8
56                         g2.drawLine(0,c*10*beat,15,c*10*beat);                                  // 1/4
57                         g2.drawLine(0,c*10*halfNote,20,c*10*halfNote);                  // 1/2
58                         g2.drawLine(0,c*10*measure,30,c*10*measure);                    // 1/1
59                         
60                 }
61         }
62 }