JAVA 6 JinHo Jang M S Hanyang Univ

  • Slides: 30
Download presentation
JAVA 실습 6주차 Jin-Ho, Jang M. S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate. com HPC

JAVA 실습 6주차 Jin-Ho, Jang M. S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate. com HPC & OT Lab. 1

Layout. Manager • Border. Layout – frame이 디폴트로 취하는 Layout • Flow. Layout –

Layout. Manager • Border. Layout – frame이 디폴트로 취하는 Layout • Flow. Layout – Panel의 기본 레이아웃 • Box. Layout – Flow. Layout과 유사하나 수직방향으로 정렬이 가능하다 HPC & OT Lab. #4 - 2

HPC & OT Lab. #4 - 4

HPC & OT Lab. #4 - 4

Flow. Layout HPC & OT Lab. #4 - 5

Flow. Layout HPC & OT Lab. #4 - 5

Box. Layout HPC & OT Lab. #4 - 6

Box. Layout HPC & OT Lab. #4 - 6

import javax. swing. *; public class Simple. Gui 1{ public static void main(String[] args){

import javax. swing. *; public class Simple. Gui 1{ public static void main(String[] args){ JFrame frame = new JFrame(); Jbutton = new JButton(“click me”); //프레임과 버튼 생성 frame. set. Default. Close. Operation(Jframe. EXIT_ON_CLOSE); //이렇게 하면 창 닫을때 프로그램이 종료됨 frame. get. Content. Pane(). add(button); //버튼을 프레임의 content pane에 추가함 frame. set. Size(300, 300); //프레임의 크기를 픽셀 단위로 지정 frame. set. Visible(true); //화면에 표시하도록 설정 } } HPC & OT Lab.

#Tip • Subtyping 과 Subclassing의 차이 (interface and abstraction) • Implements(여러개) & extends(1개) HPC

#Tip • Subtyping 과 Subclassing의 차이 (interface and abstraction) • Implements(여러개) & extends(1개) HPC & OT Lab. 8

Import javax. swing. *; Import java. awt. event. *; frmae. set. Size(300, 300); frame.

Import javax. swing. *; Import java. awt. event. *; frmae. set. Size(300, 300); frame. set. Visible(true); } Public class Simple. Gui. B implements Action. Listener{ JButton button; public static void main(String[] args){ Simple. Gui. B gui = new Simple. Gui. B(); gui. go(); } public void go(){ JFrame frame = new JFrame(); button = new JButton(“click me”); button. add. Action. Listener(this); public void action. Performed(Action. Event event){ button. set. Text(“I’ve been clicked!!”); } frame. get. Content. Pane(). add(button); frame. set. Default. Close. Operation(Jframe. EXIT_ON_C LOSE); HPC & OT Lab. #4 - 9

HPC & OT Lab. 10

HPC & OT Lab. 10

HPC & OT Lab. 11

HPC & OT Lab. 11

HPC & OT Lab. 12

HPC & OT Lab. 12

HPC & OT Lab. 13

HPC & OT Lab. 13

실습 5. Input, Output and State 1. Swing package의 JPanel class와 JFrame class 를

실습 5. Input, Output and State 1. Swing package의 JPanel class와 JFrame class 를 배운다. 2. AWT package의 Graphics class를 배운다. 3. Field Variable과 Scope rule에 대해 배운다. HPC & OT Lab. 14

Swing. Frame. Main. java // Swing 기본창 만들기 import javax. swing. *; class Swing.

Swing. Frame. Main. java // Swing 기본창 만들기 import javax. swing. *; class Swing. Frame extends JFrame { // 내용없음 } public class Swing. Frame. Main { public static void main(String[] args) { JFrame f = new Swing. Frame(“Swing 기본창만들기”); f. set. Size(300, 200); f. show(); } } HPC & OT Lab. 15

q Draw. Shapes. java import java. awt. *; import javax. swing. *; 사용자가 직접

q Draw. Shapes. java import java. awt. *; import javax. swing. *; 사용자가 직접 호출하는 일 public class Draw. Shapes extends JFrame 은 절대 없다. 이것은 시스템 { public void paint(Graphics g) 에서 직접호출. { g. set. Color(Color. BLACK); g. draw. Oval(10, 30, 20); g. fill. Rect(50, 30, 20); g. draw. Line(90, 50, 100, 30); g. draw. Line(100, 30, 110, 50); g. draw. Line(90, 50, 110, 50); g. draw. String("Hello 홍길동", 10, 70); } HPC & OT Lab. #4 - 17

 • Draw. Shapes. java public static void main(String[] args) { Draw. Shapes ds

• Draw. Shapes. java public static void main(String[] args) { Draw. Shapes ds = new Draw. Shapes(); ds. set. Size(120, 80); ds. set. Visible(true); } } 실행결과 HPC & OT Lab. #4 - 18

 • Clock. Writer. java import java. awt. *; import javax. swing. *; import

• Clock. Writer. java import java. awt. *; import javax. swing. *; import java. util. *; public class Clock. Writer extends JPanel { int width=200; public Clock. Writer() { JFrame clocks_frame = new JFrame(); clocks_frame. get. Content. Pane(). add(this); clocks_frame. set. Title("Clock"); clocks_frame. set. Size(width, width); clocks_frame. set. Visible(true); } HPC & OT Lab. #4 - 20

 • Clock. Writer. java public void paint. Component(Graphics g) { g. set. Color(Color.

• Clock. Writer. java public void paint. Component(Graphics g) { g. set. Color(Color. white); g. fill. Rect(0, 0, width); Gregorian. Calendar time = new Gregorian. Calendar(); int minutes_angle = 90 - (time. get(Calendar. MINUTE)*6); //0도가 3시방향 int hour_angle = 90 - (time. get(Calendar. HOUR)*30); int left_edge = 50; int top = 50; int diameter = 100; g. set. Color(Color. black); g. draw. Oval(left_edge, top, diameter); g. set. Color(Color. red); g. fill. Arc(left_edge + 5, top + 5, diameter - 10, minutes_angle, 5); HPC & OT Lab. #4 - 21

 • Clock. Writer. java g. set. Color(Color. blue); g. fill. Arc(left_edge + 25,

• Clock. Writer. java g. set. Color(Color. blue); g. fill. Arc(left_edge + 25, top + 25, diameter - 50, hour_angle, -8); } public static void main(String[] args) { new Clock. Writer(); } } 실행결과 HPC & OT Lab. #4 - 22

 • Egg. Writer. java import java. awt. *; import javax. swing. *; public

• Egg. Writer. java import java. awt. *; import javax. swing. *; public class Egg. Writer extends JPanel { private int WIDTH = 300; private int HEIGHT = 200; private Color BACKGROUND_COLOR = Color. yellow; private int egg_width = 600; private int egg_height = 400; public Egg. Writer() { JFrame my_frame = new JFrame(); my_frame. get. Content. Pane(). add(this); my_frame. set. Title("Egg. Writer"); HPC & OT Lab. #4 - 24

 • Egg. Writer. java my_frame. set. Size(WIDTH, HEIGHT); my_frame. set. Visible(true); my_frame. set.

• Egg. Writer. java my_frame. set. Size(WIDTH, HEIGHT); my_frame. set. Visible(true); my_frame. set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); } public void paint. Component(Graphics g) { g. set. Color(BACKGROUND_COLOR); g. fill. Rect(0, 0, WIDTH, HEIGHT); int left_border = 10; int baseline = 190; g. set. Color(Color. pink); g. fill. Oval(left_border, baseline - egg_height, egg_width, egg_height); g. set. Color(Color. black); HPC & OT Lab. #4 - 25

 • Egg. Writer. java g. draw. Oval(left_border, baseline - egg_height, egg_width, egg_height); egg_width

• Egg. Writer. java g. draw. Oval(left_border, baseline - egg_height, egg_width, egg_height); egg_width = egg_width / 2; egg_height = egg_height / 2; } public static void main(String[] args) { new Egg. Writer(); } } HPC & OT Lab. #4 - 26