-
Notifications
You must be signed in to change notification settings - Fork 0
/
arrowMusic.java
87 lines (84 loc) · 2.29 KB
/
arrowMusic.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class arrowMusic extends JApplet
{
int width=500, height=500; //dimensions of window
JLabel label;
AudioClip A, B, C, D, E, F, G; //different music notes
public void init()
{
label = new JLabel(""); //text-displaying object
label.setFocusable(true); //key listener should focus on the label
Container cp=getContentPane();
cp.setBackground(new Color(255,0,171));
cp.setLayout(new FlowLayout());
cp.add(label);
setSize(width,height);
label.addKeyListener(new CustomKeyListener());
A = getAudioClip(getCodeBase(), "A_Piano_57.wav");
B = getAudioClip(getCodeBase(), "B_Piano_59.wav");
C = getAudioClip(getCodeBase(), "C_Piano_60.wav");
D = getAudioClip(getCodeBase(), "D_Piano_62.wav");
E = getAudioClip(getCodeBase(), "E_Piano_64.wav");
F = getAudioClip(getCodeBase(), "F_Piano_53.wav");
G = getAudioClip(getCodeBase(), "G_Piano_55.wav");
}
public static void main(String[] args) throws Exception
{
}
class CustomKeyListener implements KeyListener
{
public void keyTyped(KeyEvent e) { }
public void keyReleased(KeyEvent e) //clear JLabel once arrow key released
{
repaint();
}
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_A)
{
A.play();
label.setText(label.getText() + "A ");
repaint();
}
if(e.getKeyCode() == KeyEvent.VK_B)
{
B.play();
label.setText(label.getText() + "B ");
repaint();
}
if(e.getKeyCode() == KeyEvent.VK_C)
{
C.play();
label.setText(label.getText() + "C ");
repaint();
}
if(e.getKeyCode() == KeyEvent.VK_D)
{
D.play();
label.setText(label.getText() + "D ");
repaint();
}
if(e.getKeyCode() == KeyEvent.VK_E)
{
E.play();
label.setText(label.getText() + "E ");
repaint();
}
if(e.getKeyCode() == KeyEvent.VK_F)
{
F.play();
label.setText(label.getText() + "F ");
repaint();
}
if(e.getKeyCode() == KeyEvent.VK_G)
{
G.play();
label.setText(label.getText() + "G ");
repaint();
}
}
}
}