728x90
반응형
Canvas 클래스는 그래픽 처리를 할 수 있는 특정한 모양을 가지지 않는 컴포넌트로 직접 그래픽 작업을 처리할 경우에 주로 사용하는 컴포넌트이다.
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Main {
public static void main(String[] args) {
Frame frm = new Frame("Canvas Exam");
frm.setBounds(100,100,200,200);
Canvas canvas = new CCanvas();
frm.add(canvas, "Center");
frm.setVisible(true);
frm.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(0);
}
});
}
}
class CCanvas extends Canvas {
// Canvas 클래스의 paint() 메서드 오버라이딩
public void paint(Graphics g) {
// 문자열 그리기
g.drawString("문자열", 10, 20);
// 사각형 그리기
g.drawRect(50, 10, 30, 20);
// 사각형 채우기
g.fillRect(100, 10, 30, 20);
// 각 꼭지점의 X좌표를 int형 배열로 설정
int xPos[] = {150, 165, 180, 170, 160};
// 각 꼭지점의 Y좌표를 int 형 배열로 설정
int yPos[] = {20, 10, 20, 30, 30};
// 다각형 그리기
g.drawPolygon(xPos, yPos, 5);
// 둥근 사각형 그리기
g.drawRoundRect(10, 50, 40, 40, 10, 10);
// 타원 그리기
g.drawOval(60, 50, 50, 20);
// 호 그리기(부채꼴 모양)
g.fillArc(100, 50, 40, 40, 45, -75);
// 선 그리기
g.drawLine(10, 110, 170, 130);
}
}
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[자바] Canvas의 이해와 활용(그림 파일 불러오기) (0) | 2023.10.24 |
---|---|
[자바] Canvas의 이해와 활용(컬러 적용하기) (0) | 2023.10.24 |
[자바] 컴포넌트의 배치(메모장 만들기 예제) (0) | 2023.10.24 |
[자바] 배치 관리자(GridLayout 예제) (0) | 2023.10.24 |
[자바] 컴포넌트의 배치(전자계산기 만들기) (0) | 2023.10.24 |