Files
OOP_Tutoring_Notes/Labs/Lab13/Question1/src/MyPanel.java
2026-03-01 23:18:55 -05:00

42 lines
1.0 KiB
Java

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.JPanel;
public class MyPanel extends JPanel {
private Model m;
private ControllerClicks c;
public MyPanel(Model m, ControllerClicks c) {
this.m = m;
this.c = c;
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1) {
c.mouseClicked(e.getPoint());
}
}
});
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
ArrayList<Point> points = m.getPoints();
g.setColor(Color.RED);
if(points.size() == 1) {
Point p = points.get(0);
g.drawRect((int)p.getX(), (int)p.getY(), 1, 1);
}
else {
for(int i = 1; i < points.size(); i++) {
Point start = points.get(i - 1);
Point end = points.get(i);
g.drawLine((int)start.getX(), (int)start.getY(),
(int)end.getX(), (int)end.getY());
}
}
}
}