* Canvas

 

- 그래픽적인 화면을 그리는 요소 객체

 

- panel과 비슷하게 frame에 올리면 되지만 panel과는 다르게 버튼이랑 라벨 등

  다른 객체를 포함하지는 않는다.

 

 

#Canvas 사용방법

 

- 캔버스를 상속받을 클래스를 만든다.

 

- paint 메소드를 오버라이드 한다.

 

- 파라미터로 들어몬 Graphics 객체를 이용해서 그림을 그린다.

 

 

#Canvas 주요 메소드

 

- setColor : 색상을 지정하는 함수 Color 클래스안에 있는 색깔을 지정해서 사용한다.

                텍스트나 도형을 그릴 때 여기서 지정한 색깔로 그려진다.

 

 

 

 

- drawString : 문자를 적는 메소드  문자내용, x좌표 , y좌표 3개의 파라미터를 사용하며 Font 객체를 이용해서

                   문자스타일을 수정할 수 있다.

 

 

 

 

- drawLine : 라인을 긋는 메소드 파라미터로 시작점 x좌표,시작점 y좌표,도착점 x좌표,도착점 y좌표를 지정해주면

                해당하는 점 사이에 라인을 그린다.

 

 

 

 

- drawOval : 원을 그리는 메소드 파라미터로 x좌표,y좌표,가로,세로를 지정하면 해당하는

                 크기만큼 원을 그린다.

 

 

 

 

 

- fillOval : 채우기가 되어있는 원을 그리는 메소드 drawOval과 사용법 동일

 

 

 

 

 

 

- drawRect : 사각형 그리는 메소드

 

 

 

 

 

 

- fillRect : 채우기가 되어 있는 사각형 그리는 메소드 drawRect와 사용법이 동일

 

 

 

 

 

 

- drawImage : 이미지를 그리는 메소드 Toolkit을 이용해서 이미지를 불러오며 이때 이미지의 위치는 프로젝트

                   내의 최상위를 기본으로 한다.

                   파라미터로 image 객체, x좌표,y좌표,가로,세로,frame 객체를 넘겨준다.

 

 

 

 

 

 

#Swing

 

- 자바 영역에서 사용하는 look&feel 을 적용 받아 모든 운영체제에서 동일한 느낌을 제공

 

- AWT와 가장 큰 차이점은 플랫폼으로부터 어떠한 native code도 가져다가 사용하지 않는 다는 것이다.

  사용 방법이나 코드 모양은 AWT와 거의 흡사하지만 내부적으로 실행되는 것은 완전히 다르다.

 

- 주의점은 AWT와는 달리 Frame에 직접 올리면 안되고 무조건 panel을 통해서 올려야 한다.

 

 

#Swing 주요 클래스 및 메소드

 

- 윈도우의 닫기 버튼을 동작하기 위해서는 AWT와는 다르게 아래와 같이 설정을 해야 한다.

 

- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

- 기본적으로 AWT에서 확장된 클래스들은 앞에 'J'를 붙여주면 된다.

 

예) Jframe , Jpanel , Jbutton , JTextField , JTextArea , Jlist , JCombo(Choice)

     Jcheckbox , Jlabel , Jdialog , JFileChooser(FileDialog) , JScrollpane

     JMenuBar , Jmenu , JMenuItem , JPopupMenu

 

 

 

 #Canvas를 이용해 여러가지 그려넣어보기

 

 

 

 

 

 

#Canvas를 이용하여 공 튀기기

 

 

 

 

 

 

 

 

#Canvas keyCode를 받아 공을 방향키로 조작하기

 

 

 

 

 

'Java > Java2' 카테고리의 다른 글

Java [스레드(Thread),멀티 스레드]  (0) 2017.10.03
Java [자료구조]  (0) 2017.09.24
Java [예외처리,직렬화]  (0) 2017.09.18
Java [Object,Inner 클래스]  (0) 2017.09.16
Java [Gregorian Calendar,Math,Wrapper]  (0) 2017.09.14

+ Recent posts