수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

자바 프로그램 짠건데요..고수님들 좀 보고 도움좀주세요~

헛나발

2023.04.01

클릭할때 press될때 원이 생김과 동시에 그 포인트와 released될때 포인트와 연결시켜서 선을 그리구요 그리고 released때 기억된 그 포인트에 처음같이 원이 생겨야 되는거거든요..

근데 원은 누적해서 계속 생기는데 이 직선이 그릴때 마다 누적되지 않아서요..

화면에 지금까지 그린 직선이 모두 나타나야하거든요..

코드좀 보시고 좀 알려주세요~

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class DotsLinesPanel extends JPanel
{
private final int RADIUS = 6;

private ArrayList pointList;
private ArrayList lineList;
private int count;
private Point point1 = null, point2 = null, point3 = null, point4=null;

public DotsLinesPanel()
{
pointList = new ArrayList();
lineList = new ArrayList();

count = 0;DotsLinesListener listener = new DotsLinesListener();
addMouseListener (listener);

setBackground(Color.white);
}

public void paintComponent (Graphics page)
{
super.paintComponent(page);

page.setColor (Color.orange);

Iterator pointIterator = pointList.iterator();

while ( pointIterator.hasNext())
{
Point drawPoint = (Point)pointIterator.next();
page.fillOval (drawPoint.x - RADIUS, drawPoint.y - RADIUS, RADIUS * 2, RADIUS*2);
}

page.setColor (Color.green);
if(point1 != null && point3 != null)
{
page.drawLine ( point1.x, point1.y, point3.x, point3.y);
}page.setColor (Color.orange);

while ( pointIterator.hasNext())
{
Point drawPoint = (Point)pointIterator.next();
page.fillOval (drawPoint.x - RADIUS, drawPoint.y - RADIUS, RADIUS * 2, RADIUS*2);
}

page.setColor(Color.black);
page.drawString(Count : + count,5,25);
}

private class C0110904_DotsLinesListener implements MouseListener
{
public void mousePressed ( MouseEvent event)
{
point1 = event.getPoint();
pointList.add (point1);
}

public void mouseReleased (MouseEvent event)
{
point3 = event.getPoint();
pointList.add(point3);
count++;
repaint();
}public void mouseClicked (MouseEvent event) {}
public void mouseEntered (MouseEvent event) {}
public void mouseExited (MouseEvent event) {}

}
}

========================================================================

import javax.swing.*;

public class DotsLines extends JApplet
{
private final int WIDTH = 300, HEIGHT = 200;

public void init()
{
getContentPane().add(new DotsLinesPanel());

setSize (WIDTH, HEIGHT);
}
}
직선을 ArrayList에다가 객체로 저장하라는 말을 들은것 같은데..

어떻게 해야할지를 모르겠네요..

부탁드릴께요~

결과로 나와야하는 화면 첨부할께요

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

번호 제 목 글쓴이 날짜
2700033 배경에 그라데이션을 넣으려고 하는데요.. (4) 화이티 2025-07-01
2700005 [질문] TextField 객체의 실제 높이 알아오는 방법 ? 천사의눈물 2025-07-01
2699978 FileReferenceList를 이용하여 업로드시 자꾸 실행속도가 느리다는 팝업이... (10) 데이비드 2025-06-30
2699944 자바스크립트가 많은 사이트는... (6) 희나리 2025-06-30
2699918 브라우저마다 다른 input과 텍스트 정렬 (3) 늘봄 2025-06-30
2699887 동적텍스트를 그래픽으로?? (2) 족장 2025-06-30
2699862 scope넣기 (1) 아인 2025-06-29
2699835 exe로 만드는 방법을....알려주세요.. (5) 방방 2025-06-29
2699809 롤오버할때 백그라운드 이미지로할때 alt설명은 어떻게해야하죠?..ㅠ (4) 반혈 2025-06-29
2699757 리스트뷰에 있는 내용을 랜덤으로 추출 세실 2025-06-28
2699725 JMX 질문입니다. (1) 시나브로 2025-06-28
2699695 으으아으ㅏ으ㅏ 정말미쳐버리겟네요 진달래 2025-06-28
2699665 absolute에 대해서 궁금한게 있습니다 (1) 영빈이 2025-06-28
2699629 테마 적용이 잘 안됩니다. ㅠㅜ (2) 서희 2025-06-27
2699601 html코딩 브라우져 확인 할때.. (5) 에드워드 2025-06-27
2699575 [질문] 고수님들...가르쳐주세염....renameTo에 관하여 일본드립 2025-06-27
2699547 [급]레이어보다 object태그가 우선순위가 되는 문제 (5) DevilsTears 2025-06-27
2699518 javaScript중복체크 하는법좀.. 알려주세요 (3) 비 2025-06-26
2699495 이런 탭메뉴를 뭐라고 해야 하는지 모르겠네요 (1) 들빛 2025-06-26
2699380 메뉴가 계단식으로 나타나요.. ㅠ.ㅠ (5) 스릉흔다 2025-06-25
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com