디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

프갤 처음 와보는데...

볍신(220.67) 2009.11.28 18:59:33
조회 113 추천 0 댓글 2


너무 답답해서  미치겟음...

초장부터 부탁질이라서 좀 그런데  자바 그림판 이거 어디가 틀린거야 도대체..ㅠㅠ


import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;


public class Draw implements Serializable {
 
 private int x,y,x1,y1;
 private int dist;
 
 public int getDist(){return dist;}
 
 public void setDist(int dist){this.dist = dist;}
 
 public int getX(){return x;}
 
 public int getY(){return y;}
 
 public void setY(int y){this.y=y;}
 
 public int getX1(){return x1;}
 
 public void setX1(int x1){this.x1 = x1;}
 
 public int getY1(){return y1;}
 
 public void setY1(int y1){this.y1 = y1;}
 
 
}


class Exam_03_sub extends Frame implements ItemListener,MouseListener,
MouseMotionListener{
 private MenuBar mb = new MenuBar();
 private Menu draw = new Menu("DRAW");
 private CheckboxMenuItem pen = new CheckboxMenuItem("PEN",true);
 private CheckboxMenuItem Line = new CheckboxMenuItem("LINE");
 private CheckboxMenuItem oval = new CheckboxMenuItem("OVAL");
 private CheckboxMenuItem rect = new CheckboxMenuItem("RECT");
 
 private int x,y,x1,y1;
 
 private Vector vc = new Vector();
 
 

 public Exam_03_sub(String title){
  super(title);
  this.init();
  this.start();
  
  super.setSize(300,200);
  Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
  Dimension frm = super.getSize();
  int xpos = (int)(screen.getWidth()/2 - frm.getWidth()/2);
  int ypos = (int)(screen.getHeight()/2 - frm.getHeight()/2);
  super.setLocation(xpos,ypos);
  super.setResizable(false);
  super.setVisible(true);
  
 }
 
 public void update(Graphics g){
  
  paint(g);
  
 }
 
 public void paint(Graphics g){
  
  for(int i = 0; i < vc.size(); ++i){
   Draw d = (Draw)vc.elementAt(i);
   if(d.getDist() ==1){
    g.drawLine(d.getX(),d.getY(),d.getX1(),d.getY1());
   }
   else if(d.getDist() == 2){
    g.drawOval(d.getX(),d.getY(),d.getX1() - d.getX(),d.getY1() - d.getY());
   }
   else if(d.getDist() == 3){
    g.drawRect(d.getX(),d.getY(),d.getX1() - d.getX(),d.getY1() - d.getY());
   }
  }
  
  if(Line.getState() == true){
   g.drawLine(x,y,x1,y1);
  }
  else if(oval.getState() == true){
   g.drawOval(x,y,x1 - x,y1 -y);
  }
  else if(rect.getState() == true){
   g.drawRect(x,y,x1 - x,y1 -y);
  }

 }
 
 public void start(){
  this.addWindowListener(new WindowAdapter());
   public void windowClosing(WindowEvent e){
    System.exit(0);
   }
 }
 
 pen.addItemListener(this);
 line.addItemListener(this);
 oval.addItemListener(this);
 rect.addItemListener(this);
 
 this.addMouseListener(this);
 this.addMouseMotionListener(this);
 
 
 }

 public void itemStateChanged(ItemEvent e){
 
 pen.setState(false);
 line.setState(false);
 oval.setState(false);
 rect.setState(false);
 
 CheckboxMenuItem imsi = (CheckboxMenuItem)e.getSource();
 imsi.setState(true);
}

 public void mouseClicked(MouseEvent e){}
 
 public void mouseEntered(MouseEvent e){}
 
 public void mouseExited(MouseEvent e){}
 
 public void mousePressed(MouseEvent e){
  x = e.getX();
  y = e.getY();
 }
 public void mouseReleased(MouseEvent e){
  x = e.getX();
  y = e.getY();
  this.repaint();
  
  if(pen.getState() != true){ int dist=0;
  if(line.getState()== true){dist = 1;
  }
  else if(oval.getState() == true){
   dist = 2;
  }
  else if(rect.getState() == true){
   dist = 3;
  }
  Draw d = new Draw();
  d.setDist(dist);
  d.setX1(x);
  d.setY(y);
  d.setX1(x1);
  d.setY1(y1);
  vc.add(d);
  
 }
 }
 
 public void mouseDragged(MouseEvent e){
  x1 = e.getX();
  y1 = e.getY();
  this.repaint();
  if(pen.getState()){
   Draw d = new Draw();
   d.setDist(1);
   d.setX1(x);
   d.setY(y);
   d.setX1(x1);
   d.setY1(y1);
   vc.add(d);
   x = x1;
   y = y1;
  }
  }
 
 public void mouseMoved(MouseEvent e){}
 
 }
 
 public class Exam_03{
  public static void main(String[] ar){
   Exam_03_sub ex = new Exam_03_sub("Test_그림판");
  }
 }
 
 }
  
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45211 65
2870085 피부 건조한 사람들 꼭봐!!! ㅇㅇㅇㅇ(121.126) 07:55 1 0
2870083 음기 충전 발명도둑잡기(118.216) 07:37 10 0
2870081 33살 사회주의자 뉴욕시장! 맘다니의 파격 행보 발명도둑잡기(118.216) 07:23 7 0
2870080 '트럼프法'에 반기 든 머스크 "'아메리카당' 오늘 창당" 발명도둑잡기(118.216) 07:08 8 0
2870078 과연 닭으로 공룡을 만들수 있을까?! 발명도둑잡기(118.216) 06:39 11 0
2870076 동생이 너무 오랜 기간 백수라 걱정이다 아스카영원히사랑해갤로그로 이동합니다. 06:04 30 0
2870074 위대한 실천가 루비님 발명도둑잡기(118.216) 05:52 11 0
2870072 [박한슬의 숫자 읽기] 토건 보수와 개미 진보 발명도둑잡기(118.216) 05:44 17 0
2870070 현직 개발자의 소개팅 후기 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 발명도둑잡기(118.216) 05:12 32 0
2870069 학생들을 속여 정신대로 보내버린, 선생님이라고 할 수도 없는 파렴치한 친 발명도둑잡기(118.216) 05:08 15 0
2870067 '케이팝 데몬 헌터스' 그 시작은 제주의 '女神' 이었다. 발명도둑잡기(118.216) 04:56 12 0
2870066 국비지원 들어야하나 진로 상담좀 해줘 [1] 프갤러(125.185) 04:45 47 1
2870063 리액트 문서 다 읽어봤는데 왜 당시 혁명이었는지 알겠네 [2] ㅆㅇㅆ(124.216) 04:20 21 0
2870062 정보) 국가별 게임 목록.jpg [2] ㅇㅇ(218.144) 04:06 38 1
2870060 학회지 제 36회 논문 판다. 거래는 알뜰나눔장터 [1] 도리스아(112.170) 03:53 20 0
2870059 위대한 오픈소스와 나르시시즘: 목차 제안 [1] 루비갤로그로 이동합니다. 03:38 28 0
2870056 오늘의 발명 실마리: 디씨에 AI로 힙합 기수 칭찬, 욕하는 자동글 발명도둑잡기(118.216) 03:26 38 0
2870054 AI가 일으킨 첫 번째 전쟁 발명도둑잡기(118.216) 03:05 20 0
2870052 러스트 FFI의 모순 루비갤로그로 이동합니다. 02:42 17 0
2870050 일본 손글씨 기계 [1] 발명도둑잡기(118.216) 02:36 21 0
2870048 러빠 이제 러스트 손절치냐 ㅋㅋ 루비갤로그로 이동합니다. 02:26 29 0
2870046 애드센스 또 거부 당했네 ㅠㅠ 루비갤로그로 이동합니다. 02:17 16 0
2870045 빌보드 핫100 노래 모두 이 노래보다는 사실 얌전한 내용이다 [1] 발명도둑잡기(118.216) 02:16 25 0
2870044 Jpa는 쓰면쓸수록 병신같노 프갤러(118.235) 02:16 23 0
2870042 요즘 아이들의 '친일 혐중', 오늘도 원인을 찾는 중입니다 발명도둑잡기(118.216) 02:12 16 0
2870039 강남 같은 동네 주민들의 닭싸움 케이지 발명도둑잡기(118.216) 01:55 17 0
2870037 우디 거스리 발명도둑잡기(118.216) 01:47 12 0
2870035 RPA취업 프갤러(1.243) 01:43 14 0
2870034 공부하기 좋은 세상이다 [1] 초코냥갤로그로 이동합니다. 01:40 43 0
2870033 오늘한일 [2] PyTorch갤로그로 이동합니다. 01:39 37 0
2870032 이 땅은 너희의 땅 [1] 발명도둑잡기(118.216) 01:29 22 0
2870031 똥양인들은 머리에 번식,동족포식 생각밖에없음?? 뒷통수한방(1.213) 01:29 15 0
2870030 썡노가다 하다보니 IAT 찾았다 [1] 루도그담당(58.239) 01:22 22 0
2870028 What The Fuck Is A Kilometer 발명도둑잡기(118.216) 01:13 16 0
2870027 [로터리] 토지공개념은 '소설'이 아니다. 발명도둑잡기(118.216) 01:06 13 0
2870026 재활용 할가요 도리스아(112.170) 01:01 18 0
2870025 오늘의 소설, 영화 실마리: 거대 닭이 인간에게 복수 [2] 발명도둑잡기(118.216) 00:54 16 0
2870024 요즘 자라나는 새싹들 마인드 ) 크게 통수한방치고 해외로 튀기 뒷통수한방(1.213) 00:52 19 0
2870022 NFT는 저작권 보호 도구인가 저작권 침해 도구인가 [1] 발명도둑잡기(118.216) 00:39 19 0
2870021 트위터 창업자 “모든 지재권 법 없애자” 주장 논란…머스크도 맞장구 발명도둑잡기(118.216) 00:38 15 0
2870020 "GPU는 사면서, 데이터는 왜 훔쳐" 빅테크의 질주, 뒤에서 발명도둑잡기(118.216) 00:33 15 0
2870019 어셈블리어 발명도둑잡기(118.216) 00:22 24 0
2870017 내일까지 이거 끝내고 블로그 글 적고 [1] ㅆㅇㅆ(124.216) 00:15 22 1
2870016 가끔 뜻밖에 행운이 찾아올 때 있지 않음?????????????? ㅇㅅㅇ(117.111) 00:15 21 0
2870015 이 기사 보는 즉시 비번 바꿔라…구글·애플 160억개 개인정보 유출 발명도둑잡기(118.216) 00:09 19 0
2870014 뭐냐 졸다가 점점 세진다. 강도가... 넥도리아(112.170) 00:07 16 0
2870013 C井と書いて [3] 슈퍼막코더(110.133) 00:06 29 0
2870012 고향가면 구축 2억이면 사는데 ㅇㅇ(118.235) 00:01 21 0
2870011 진앙지가 우리집일까 집 군포로 뜨는데 안양시 동안구인데, 넥도리아(112.170) 00:00 15 0
뉴스 정동원, ‘걍남자’서 임영웅과 1박 2일 캠핑 여행 "찐형제 케미" 디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2