수다닷컴

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

[질문]자바 문제 풀다가 안풀려 질문 드립니다

하루키

2023.04.01

일단 코드는 간단한 그림판을 만들어 그림을 그리는 건데... JPanel 을 전용그림판으로 써서 그리는겁니다.(타원그리는 버튼을 누르면 타원이 그려지고, 사각형 버튼을 누르면 사각형이 그려지는)

문제는 그림판에 그림이 3개까지 그려지게 하는 겁니다. 4번째 그림을 그리면 1번째것이 지워지는 그러한 그림판을 만드는것이 목적입니다. circular queue를 써야 하는것까지는 알겠는데 문제는 소스에 어떻게 적용시켜야 할지 모르겠네요.. --; 도움이 될만한 tip좀 주세요.

코드는 밑에..

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

public class DrawShape extends JPanel {
public static final int CIRCLE = 1, SQUARE = 2;
private int x1, y1, x2, y2;
private int shape;

public DrawShape()
{
addMouseListener(
new MouseAdapter() {
public void mousePressed(MouseEvent event)
{
x1 = event.getX();
y1 = event.getY();
}

public void mouseReleased(MouseEvent event)
{
x2 = event.getX();
y2 = event.getY();
repaint();
}
}
);

addMouseMotionListener(
new MouseMotionAdapter() {
public void mouseDragged(MouseEvent event)
{
x2 = event.getX();
y2 = event.getY();
repaint();
}
}
);
}

public Dimension getPreferredSize()
{
return new Dimension(150, 100);
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(shape == CIRCLE)
g.drawOval(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x1-x2), Math.abs(y1-y2));
else if(shape == SQUARE)
g.drawRect(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x1-x2), Math.abs(y1-y2));
}
public void draw(int shapeToDraw)
{
shape = shapeToDraw;
//repaint();
}
}

----------------------------------------------------------------

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

public class DrawTest extends JFrame {
private JPanel buttonPanel;
private DrawShape dsPanel;
private JButton circleButton, squareButton;

public DrawTest()
{
super(DrawTest Test);

dsPanel = new DrawShape();
dsPanel.setBackground(Color.WHITE);

squareButton = new JButton(Square);
squareButton.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event)
{
dsPanel.draw(DrawShape.SQUARE);
}
}
);

circleButton = new JButton(Circle);
circleButton.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event)
{
dsPanel.draw(DrawShape.CIRCLE);
}
}
);

buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(1, 2));
buttonPanel.add(circleButton);
buttonPanel.add(squareButton);

Container container = getContentPane();
container.add(dsPanel, BorderLayout.CENTER);
container.add(buttonPanel, BorderLayout.SOUTH);

setSize(450, 300);
setVisible(true);
}

public static void main(String args[])
{
DrawTest application = new DrawTest();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

신청하기





COMMENT

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

  • 유키

    길더라도 한번 도와주세요~^^*

번호 제 목 글쓴이 날짜
2703274 AVADA 테마 메인화면 슬라이드 질문.. 뿌우 2025-07-30
2703218 kboard 게시판 질문요 !! 핑크빛입술 2025-07-30
2703188 HTML 4.01에서 faq 제이쿼리 슬라이드업 되면서 떨림문제 (2) 꺄홋 2025-07-30
2703163 수다님 죄송한데 질문하나하겠습니다.. (1) 나오 2025-07-29
2703138 [질문]java강좌란에서 궁금한 점이 있어 올립니다. (2) 옆집오빠야 2025-07-29
2703109 HTML5 코드 내용이 달라요..ㅜㅜ (1) 우솔 2025-07-29
2703032 이런 질문도 가능할 지는 모르겠지만요~ (1) SweetChoco 2025-07-28
2703009 레이어 코딩 어떻게 해야 할까요? 수련 2025-07-28
2702980 익스 개발툴에서 대체텍스트보기에 대해 질문있어요~ (5) 핑크빛애교 2025-07-28
2702927 jsp 공부중인대 회원등록을누르면 등록이 안되고 에러가나요 소율 2025-07-27
2702843 16진수 출력시 10을 제거 하는 방법 좀 알려주세요 (3) Schokolade 2025-07-26
2702818 float:left , right 왜그런거죠? (4) 화이트캣 2025-07-26
2702792 vertical-align이 적용이 안되네요...ㅜ.ㅜ (4) 라미 2025-07-26
2702735 c++ 로 mmpi 프로그램을 만드는데 푸른잎 2025-07-25
2702705 그누보드 갤러리게시판 오류 문의합니다. good 2025-07-25
2702679 동영상의 흰색배경을 투명하게 플래시로 임포트하려면?? (3) 별솔 2025-07-25
2702655 예약 부분 & 페이지 번역 플러그인 질문해요. (3) 연하늘 2025-07-25
2702632 틀린부분이 어디죠?? 컴파일하면 오류가 떠요 (3) 해사랑해 2025-07-24
2702605 JSFL에 Select Unused Items는 설마 없는 건가요! 카제 2025-07-24
2702576 [도서질문] 리팩토링 HTML 보신 분 계신가요? (4) 매디 2025-07-24
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

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