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 * (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);
+ halfNote = measure/2;
+ beat = halfNote/2;
+ halfBeat = beat/2;
+ break;
+ }
+
+ }
+ 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