-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathToolsFrame.java
104 lines (82 loc) · 3.25 KB
/
ToolsFrame.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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
public class ToolsFrame extends JFrame {
private JButton penButton;
private PaintFrame paintFrame;
private Controller controller;
private JButton penSizeButton;
private JButton clearButton;
private JButton colorButton;
private JButton laserButton;
private JButton toleranceButton;
public ToolsFrame(Controller controller, PaintFrame paintFrame) {
this.setLayout(new FlowLayout());
penSizeButton = new JButton("Pen Size");
this.add(penSizeButton);
penSizeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String input = JOptionPane.showInputDialog("Enter pen size:");
try {
int size = Integer.parseInt(input);
if (size > 0) {
controller.changePenSize(size);
} else {
JOptionPane.showMessageDialog(null, "Please enter a positive number.");
}
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Invalid input. Please enter a number.");
}
}
});
clearButton = new JButton("Clear");
this.add(clearButton);
clearButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
paintFrame.clearCanvas();
}
});
penButton = new JButton("Pen");
this.add(penButton);
penButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
colorButton = new JButton("Color");
this.add(colorButton);
colorButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Color chosenColor = JColorChooser.showDialog(null, "Pick a Color!", Color.WHITE);
if (chosenColor != null) {
controller.changePenColor(chosenColor);
controller.setTargetColor(chosenColor);
}
}
});
laserButton = new JButton("Laser");
this.add(laserButton);
laserButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
paintFrame.setActiveTool(PaintFrame.Tool.LASER);
paintFrame.activateLaserTool(PaintFrame.x, PaintFrame.y);
}
});
toleranceButton = new JButton("Tolerance");
this.add(toleranceButton);
toleranceButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
this.setSize(300, 200);
this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
}
}