지금 미니 그림판? ㅜ_ㅜ 만드는 중임...
근데 밑에 마우스 이벤트에 있는 e.getPoint(); 에서 오류표시가떠여..
좌표가져올때그렇게 가져오던데ㅠㅠㅠㅠㅠㅠㅠ
도대체 왜그럴까여 큐... 이렇게 통째로 보시는 거 싫으시려나 죄송ㅎㅎㅎㅎ
답답해서 물어보러왔어여 ㅜ.ㅜ..

package finalproject;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class PictureBoard extends JFrame{
 JButton btnLine = new JButton("선");
 JButton btnRect = new JButton("사각형");
 JButton btnOval = new JButton("원");
 JButton btnRed = new JButton();
 JButton btnYel = new JButton();
 JButton btnGre = new JButton();
 JButton btnBlu = new JButton();
 JButton btnWhi = new JButton();
 JButton btnBla = new JButton();
 JPanel picture = new JPanel();
 Point p1, p2;
 int DRAW=0;
 Color color;
 Graphics g;
 
 public PictureBoard() {
  this.setSize(500,400);
  this.setLocation(300,200);
  this.setTitle("그림판");
  addWindowListener(new Bye());
  Container cp = getContentPane();
  cp.setLayout(null);
  btnLine.setBounds(10, 10, 75, 30);
  btnLine.addActionListener(new DrawPic());
  btnOval.setBounds(10, 50, 75, 30);
  btnOval.addActionListener(new DrawPic());
  btnRect.setBounds(10, 90, 75, 30);
  btnRect.addActionListener(new DrawPic());
   
  btnRed.setBounds(10, 150, 30, 30);
  btnRed.setBackground(Color.red);
  btnRed.addActionListener(new DrawPic());
  btnBlu.setBounds(50, 150, 30, 30);
  btnBlu.setBackground(Color.blue);
  btnBlu.addActionListener(new DrawPic());
  btnYel.setBounds(10, 190, 30, 30);
  btnYel.setBackground(Color.yellow);
  btnYel.addActionListener(new DrawPic());
  btnGre.setBounds(50, 190, 30, 30);
  btnGre.setBackground(Color.green);
  btnGre.addActionListener(new DrawPic());
  btnWhi.setBounds(10, 230, 30, 30);
  btnWhi.setBackground(Color.white);
  btnWhi.addActionListener(new DrawPic());
  btnBla.setBounds(50, 230, 30, 30);
  btnBla.setBackground(Color.black);
  btnBla.addActionListener(new DrawPic());
  cp.add(btnLine);
  cp.add(btnOval);
  cp.add(btnRect);
  cp.add(btnRed);
  cp.add(btnBlu);
  cp.add(btnYel);
  cp.add(btnGre);
  cp.add(btnWhi);
  cp.add(btnBla);
  
  picture.setBounds(90,0,410,400);
  picture.setBackground(Color.white);
  picture.addMouseListener(new MouseEvent());

  this.setVisible(true);
 }
 public void drawLine(Color color) { //선그리기
  g = picture.getGraphics();
  g.setColor(color);
  g.drawLine((int)p1.getX(),(int)p1.getY(),(int)p2.getX(),(int)p2.getY());
  }
 public void drawRect(Color color) { //사각형 그리기
  g = picture.getGraphics();
  g.setColor(color);
  g.drawRect((int)p1.getX(),(int)p1.getY(),(int)p2.getX()-(int)p1.getX(),(int)p2.getY()-(int)p1.getY());
   }
 public void drawOval(Color color) { //원그리기
  g = picture.getGraphics();
  g.setColor(color);
  g.drawOval((int)p1.getX(),(int)p1.getY(),(int)p2.getX()-(int)p1.getX(),(int)p2.getY()-(int)p1.getY());
 }
 class DrawPic implements ActionListener {
 public void actionPerformed(ActionEvent e) { //ActionListener 구현
  if (e.getActionCommand().equals("선")) //선 버튼일 경우
   DRAW=1;
  else if (e.getActionCommand().equals("사각형"))  //사각형 버튼일 경우
   DRAW=2;
  else if (e.getActionCommand().equals("원")) { //원 버튼일 경우
   DRAW=3;
    
  if(e.getActionCommand().equals(btnRed))
   color = Color.red;
  else if(e.getActionCommand().equals(btnBlu))
   color = Color.blue;
  else if(e.getActionCommand().equals(btnYel))
   color = Color.yellow;
  else if(e.getActionCommand().equals(btnGre))
   color = Color.green;
  else if(e.getActionCommand().equals(btnWhi))
   color = Color.white;
  else if(e.getActionCommand().equals(btnBla))
   color = Color.black;
  }
 }
 }
 
 class Bye extends WindowAdapter {
  public void windowClosing(WindowEvent we){
   dispose();
  }
 }
 
 class MouseEvent extends MouseAdapter {
  public void mousePressed(MouseEvent e) {
   p1 = e.getPoint(); //////////요기가 문제임
  }
  
  public void mouseReleased(MouseEvent e) {
   p2 = e.getPoint(); ///////////요기도ㅠ
   switch(DRAW) {
         case 1:drawLine(color);break;
         case 2:drawRect(color);break;
         case 3:drawOval(color);break;
      }
  }
 }
}