1. Canvas
2. Graphics
3. Color
4. Font
Convas, Graphics 예제
import java.awt.*;
class MyCanvas extends Canvas
//캔버스를 상속받아서 새로운 MyCanvas 클래스를 만든다.
{
public void paint(Graphics g)
//인수로 Graphics 를 받는다.
{
g.drawString("졸립다",1,1);
g.drawRect(10,10,5,10);
g.fillRect(10,20,10,5);
int xPos [] = {20,10,10,30,100};
int yPos [] = {20,30,60,20,70};
g.drawPolygon(xPos,yPos,5);
g.drawRoundRect(40,60,90,100,40,30);
g.drawOval(50,40,10,30);
g.drawArc(100,50,40,40,45,-75);
g.drawLine(400,100,130,200);
}
}
public class CanvasExam
{
public static void main(String args[])
{
Frame f= new Frame("그림그리기");
Canvas canvas = new MyCanvas();
f.setSize(1000,700);
f.add(canvas,"Center");
f.setVisible(true);
}
}
여기까진 일단 어려울것 없으니 주석은 생략
CanvasExam.java

당췌 뭘 그린건지??
이번 프로젝트에서는 그렇게 많은 그래픽이 필요 할 것 같지는 않은데;;;??
Color
RGB 값을 사용해서 색 객체를 생성할 수 있다.
이미정해진 색상을 컬러로 사용 할 수 있다.
balck, blue, cyan, dackGray, gray 등 RGB값을 대입하지 않고도 그냥 사용 할 수 있다.
import java.awt.*;
class MyCanvas extends Canvas
{
public void paint(Graphics g){
g.setColor(Color.RED);
g.fillRect(10,10,300,300);
g.setColor(Color.GREEN);
g.fillRoundRect(310,10,300,300,30,30);
g.setColor(Color.BLUE);
g.fillRect(610,10,300,300);
}
}
public class ColorExam
{
public static void main(String args[])
{
Frame f = new Frame("컬러");
Canvas canvas = new MyCanvas();
f.add(canvas);
f.setSize(1000,800);
f.setVisible(true);
}
}
ColorExam.java

컬러를 내맘대로 ㅎㅎ
이제 폰트를!!
import java.awt.*;
class FontCanvas extends Canvas
{
public void paint(Graphics g)
{
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String fonts [] = ge.getAvailableFontFamilyNames();
int style[] = {Font.BOLD,Font.ITALIC,Font.PLAIN,Font.BOLD,Font.ITALIC,Font.PLAIN,1,2,0};
int size[] = {12,14,16,18,20,22,24,26,28};
for(int index = 0; index < style.length; index++)
{
g.setFont(new Font(fonts[index], style[index], size[index]));
g.drawString(fonts[index], 10, 20+size[index]*index);
}
}
}
public class FontExam
{
public static void main(String args[])
{
Frame f = new Frame("폰트예제");
Canvas canvas = new FontCanvas();
f.add(canvas);
f.setSize(500,500);
f.setVisible(true);
}
}

학교에서 연습했을때랑 다르게 출력되었다..;;




덧글
김교수 2008/10/16 22:14 # 답글
학교하고 집의 PC에 설치된 폰트가 달라서 그렇죠.