[6주차] AWT(2) ★Java시스템프로젝트★

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);
 }
}


FontExam.java

음 왜 그런지 폰트가 왜 이렇게 나오지?
학교에서 연습했을때랑 다르게 출력되었다..;;


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://bluewins.egloos.com/tb/945231 [도움말]

덧글

  • 김교수 2008/10/16 22:14 # 답글

    학교하고 집의 PC에 설치된 폰트가 달라서 그렇죠.
댓글 입력 영역



메모장

W 위젯