검색어 입력폼
평가점수F

[자바프로그램] 자바(스윙)을 이용한 그림판 구현(사각형, 원, 타원, 폴리라인, 폴리곤, 텍스트, 이미지 로드, 객체복사, 붙여넣기, 객체이동, 리사이즈, 저장, 로드)

등록일 2004.03.29 파일확장자압축파일 (zip) | 22페이지 | 가격 3,000원

소개글

자바(스윙)을 이용하여 그림판을 구였하였으며 모든 도형을 객체로 구현하였습니다.
또한 각 객체의 선 색깔, 굵기, 객체 선택, 이동, 리사이즈, 복사, 붙여넣기, 그린 객체 저장, 로드, jpg 로드가 됩니다.
총 13개 파일로 이루어져 있으며 메인 파일은 CPicture.java입니다.

CPicture.java : 스윙으로 구현한 메인
ColorTable.java : 선색깔 선택
ImageCanvas.java : 객체를 그리기위한 캔버스
PicDrawable.java : 선택한 객체 그리기
PicDrawableRectangle.java : move, resize를 하기위한 객체의 꼭지점 그리기
Ellipse.java : 타원
Line.java : 선
Rect.java : 사각형
Oval.java : 원
PolyGon.java : 다각형
PolyLine.java : 뚤린 다각형
Text.java : 텍스트를 쓰기위한 윈도우
TextLine.java : 텍스트

각 파일들의 관계와 주석, 실행내용 캡쳐화면은 한글파일로 따로 정리해놓았습니다.

목차

<총 46파일>

본문내용

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

public class ImageCanvas extends Canvas {
protected Vector elements;
protected PicDrawable selectedOne;
protected int focusType, selectedItem = -1;
protected int x, y, w, h, count = 0,count1=0;
protected int polyX[] = new int[100];
protected int polyY[] = new int[100];
protected Polygon polyLine = new Polygon();
public ImageCanvas() {
super();
setSize(700, 500);
setBackground(Color.white);
elements = new Vector(10, 10);
selectedOne = null;
focusType = PicDrawableRectangle.NONE;
addMouseMotionListener(new MouseMotionHandler());
addMouseListener(new MouseHandler());
addKeyListener(new KeyHandler());
}

public void clear() {
elements.removeAllElements();
repaint();
}

public Vector getData() {
return elements;
}


import java.awt.*;

public class PolyGon extends PicDrawableRectangle
{
protected Color PicColor = new Color(0, 0, 0);
protected float PicBold = 1.0f;

public PolyGon(int x[], int y[])
{
super(x, y);
PicColor =ColorTable.getSelectedColor();
PicBold = CPicture.LINEBOLD;
super.kindOfPic = 7;
}

public void paint(Graphics g)
{
int count = 0;
for(int i=0;i<100;i++)
if(polyX[i] != 0)
count++;

Graphics2D g2 = (Graphics2D)g;
super.paint(g2);
g2.setColor(PicColor);
BasicStroke pen = new BasicStroke(PicBold, BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND);
g2.setStroke(pen);
(polyX, polyY, count);
g2.drawPolygon(polyX, polyY, count);
}
}
다운로드 맨위로