import javax.swing.*;
+import java.awt.*;
-/*
+/**
*
*
* @author Andersson, Andreen, Lanneskog, Pehrson
* @version 1
*/
-public class MooViewCounter {
+public class MooViewCounter extends JPanel {
- /*
+ private int timeSig1, timeSig2, measure, halfBeat, beat, halfNote;
+
+ /**
* Creates
*/
- public MooViewCounter () {
-
+ public MooViewCounter (int ts1, int ts2) {
+ timeSig1 = ts1;
+ timeSig2 = ts2;
+ setBackground(Color.black);
+ setPreferredSize(new Dimension(35,200*10));
+
+ switch (timeSig2) {
+ case 16: measure = timeSig1;
+ break;
+ case 8: measure = timeSig1 * 2;
+ halfBeat = measure / timeSig1;
+ break;
+ case 4: measure = timeSig1 * 4;
+ beat = measure / timeSig1;
+ halfBeat = beat / 2;
+ break;
+ case 2: measure = timeSig1 * 8;
+ halfNote = measure / timeSig1;
+ beat = halfNote / 2;
+ halfBeat = beat / 2;
+ break;
+ case 1: measure = timeSig1 * 16;
+ halfNote = measure/2;
+ beat = halfNote/2;
+ halfBeat = beat/2;
+ break;
+ }
+
}
- /*
- *
- */
- public void () {
-
+ public void paintComponent(Graphics g) {
+ super.paintComponent(g);
+ if (!(g instanceof Graphics2D)) return;
+ Graphics2D g2 = (Graphics2D)g;
+ 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,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
+
+ }
}
-}
+}
\ No newline at end of file