import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class Main extends JFrame {
private MP p = new MP();
boolean isDragging = false;
public Main() {
setTitle("그림판");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setContentPane(p);
p.setBackground(Color.white);
setSize(300,300);
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
class MP extends JPanel {
private Vector<Point> vStart = new Vector<Point>();
private Vector<Point> vEnd = new Vector<Point>();
Point startP;
Point DragP;
public MP() {
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
startP = e.getPoint();
}
public void mouseReleased(MouseEvent e) {
isDragging=false;
Point endP = e.getPoint();
vStart.add(startP);
vEnd.add(endP);
repaint();
}
});
addMouseMotionListener(new MouseMotionListener() {
public void mouseMoved(MouseEvent e) {}
public void mouseDragged(MouseEvent e) {
isDragging=true;
DragP = e.getPoint();
repaint();
}
});
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLACK);
if(isDragging)g.drawLine(startP.x,startP.y,DragP.x,DragP.y);
for(int i=0 ; i<vStart.size() ; i++) {
Point s = vStart.elementAt(i);
Point e = vEnd.elementAt(i);
g.drawLine((int)s.getX(),(int)s.getY(),(int)e.getX(),(int)e.getY());
}
}
}
}



