JAVA Canvas Swing
Canvas - 그래픽 적인 화면을 그리는 요소 객체 마치 스케치북에 그림을 그리는 것으로 생각하면 됨 - panel과 비슷하게 frame에 올리면 되지만 panel과는 다르게 버튼이라 라벨 등 다른 객체를 포함하지는 않는다
Canvas 사용방법 - 캔버스를 상속받은 클래스를 만든다 - paint 메소드를 오버라이드한다 - 파라매터로 들어온 Graphics 객체를 이용해서 그림을 그린다
Canvas 주요 메소드 - setColor: 색상을 지정하는 함수 - drawString: 문자를 적는 메소드 - drawLine: 라인을 긋는 메소드 - drawOval: 원 그리는 메소드 - fillOval: 채우기가 되어 있는 원 그리는 메소드 - drawRect: 사각형 그리는 메소드 - fillRect: 채우기가 되어 있는 사각형 그리는 메소드 - drawImage: 이미지를 그리는 메소드
Canvas 주요 메소드 - setColor: 색상을 지정하는 함수로서 Color 클래스 안에 있는 색깔을 지정해서 사용한다. 텍스트나 도형을 그릴 때 여기서 지정한 색깔로 그려진다 - drawString: 문자내용, x좌표, y좌표 3개의 파라매터를 사용하며 Font 객체를 이용해서 문자스타일을 수정할 수 있다
Canvas 주요 메소드 - drawLine: 파라매터로 시작점 x좌표, 시작점 y좌표, 도착점 x좌표, 도착점 y좌표를 지정해 주면 해당하는 점 사이에 라인을 그린다 - drawOval: 파라매터로 x좌표, y좌표, 가로, 세로를 지정하면 해당하는 크기만큼 원을 그린다 - fillOval: drawOval과 사용법 동일
Canvas 주요 메소드 - drawRect: 사각형 그리는 메소드 - fillRect: drawRect와 사용법이 동일 - drawImage: Toolkit을 이용해서 이미지를 불러오며 이때 이미지의 위치는 프로젝트 내의 최상위를 기본으로 한다 파라매터로 image 객체, x좌표, y좌표, 가로, 세로, frame 객체를 넘겨준다
Swing - 자바 영역에서 사용하는 look&feel 을 적용 받아 모든 운영체제에서 동일한 느낌을 제공 - AWT와는 가장 큰 차이점은 플랫폼으로부터 어떠한 native code 도 가져다가 사용하지 않는 다는 것이다. 사용 방법이나 코드 모양은 AWT와 거의 흡사하지만 내부적으로 실행되는 것은 완전히 다르다 - 여러 가지 다른 클래스들이 있으나 냉정하게 말해서 굳이 필요한 것이 아니면 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