-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyCanvas.java
More file actions
82 lines (64 loc) · 2.36 KB
/
MyCanvas.java
File metadata and controls
82 lines (64 loc) · 2.36 KB
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
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
public class MyCanvas extends JPanel {
int x;
int y;
final JTextPane Prompt;
String prompt = "Start\r";
MySlider SliderRED;
MySlider SliderGREEN;
MySlider SliderBLUE;
JSpinner Radius;
ArrayList<MyCircle> myCircles = new ArrayList<MyCircle>();
MyCircle Circle;
public MyCanvas(final JTextPane Prompt, final JSpinner Radius, final MySlider SliderRED, final MySlider SliderGREEN, final MySlider SliderBLUE) {
this.SliderRED = SliderRED;
this.SliderGREEN = SliderGREEN;
this.SliderBLUE = SliderBLUE;
this.Radius = Radius;
this.Prompt = Prompt;
//on mouse click
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if (e.getX() == 230 && e.getY() == 480){
easterEgg(e.getX(), e.getY(), (Integer)Radius.getModel().getValue(), 100);
}
System.out.println(Radius.getModel().getValue());
Circle = new MyCircle(
e.getX(),
e.getY(),
(Integer) Radius.getModel().getValue(),
SliderRED.Slider.getValue(),
SliderGREEN.Slider.getValue(),
SliderBLUE.Slider.getValue());
prompt += Circle.toString()+"\n";
myCircles.add(Circle);
System.out.println(
">> " + Radius.getModel().getValue() +
" " + SliderRED.Slider.getValue() +
":" + SliderGREEN.Slider.getValue() +
":" + SliderBLUE.Slider.getValue());
repaint();
}
});
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
for (int i = 0; i < myCircles.size(); i++) {
myCircles.get(i).draw(g);
}
Prompt.setText(prompt);
}
public void easterEgg(int x, int y, int r, int i){
if (i > 0) {
Circle = new MyCircle(x, y, 20, 0, 0, 0);
myCircles.add(Circle);
repaint();
easterEgg(x - r/4, y-5, r, --i);
}
}
}