제 4 장 클래스 작성 Lab 4- 2.

Slides:



Advertisements
Similar presentations
6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
Advertisements

자바 5.0 프로그래밍.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ①.
12. GUI – 그래픽 이야기.
명품 JAVA Essential.
어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
그래픽 프로그래밍 (GUI - Graphic User Interface)
Ch.22 Command Pattern 장 덕 성 계명대학교 컴퓨터공학과 정보공학실험실
9장. 스윙 프로그래밍.
GUI 이벤트, 이벤트 리스너와 이벤트 소스 그림 그리기 내부 클래스
제7장 이벤트 프로그래밍.
7장 배열 ②.
7장 배열 ③.
레이아웃 관리자 스윙 구성요소 비트박스 프로그램
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
GUI 환경에서 작동하는 프로그램에 대하여 윈도우 프로그램의 작성 방법 그래픽과 이미지 디스플레이 방법 오디오 파일 재생 방법
명품 JAVA Essential.
명품 JAVA Programming.
8장 상속 ②.
Chap14 스윙(SWING) 14.1 스윙 컴포넌트 14.2 컴포넌트의 이벤트 처리
10장 예외 Lab 10-1.
Kim heesang JDBC Programming 2 Kim heesang
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
9장 AWT(1).
Choi Younghwan CSE HUFS
7장 배열 ②.
Chapter 12. Awt와 Swing Chapter 13. 배치 관리자 Chapter 14. 이벤트 관리자
Swing 컴포넌트 텍스트 컴포넌트 텍스트 필드 텍스트 영역 스크롤 페인 체크 박스 라디오 버튼.
Lesson 5. 레퍼런스 데이터형.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ②.
Java Seminar Chapter 4.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
9장 다형성 Lab 9-2.
10장 예외 Lab 10-2.
5장 조건과 반복 ③.
명품 JAVA Essential.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
메모장 구동.
9장 AWT(1).
GUI 프로그래밍과 AWT 컴퓨터 공학실험(I) 인공지능 연구실.
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
Communication and Information Systems Lab. 황재철
객체지향적인 프로그래밍에 대한 이해 클래스와 객체의 개념에 대한 이해
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
제 9주 이벤트 처리 그래픽프로그래밍1 제 9주 강의 목표
그래픽 사용자 인터페이스와 사건처리.
제 4 장 클래스 작성 4-1 LAB.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
4장 Random Number 프로그래밍 언어 실험실 석사 3학기 박중기
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
4 장 클래스 작성.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
JAVA WINDOW PROGRAMMING
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
JA V A W. 07 Sb.L.
JA A V W. 06.
제 4 장 클래스 작성 Lab 4- 2.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
Chapter 4 클래스 작성.
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
5장 조건과 반복 ③.
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

제 4 장 클래스 작성 Lab 4- 2

Contents GUI - 그래픽 객체 GUI – Button GUI - Textfield

GUI – 그래픽 객체 Square class를 작성하라. Constructor instance 변수 parameter 없음. size, (x, y), color 값 : 무작위 생성. - 100 ≤ size ≤200 - 0 ≤ x ≤ 600, 0 ≤ y ≤ 400 - color : Color Construcor에 parameter 1개 전달. instance 변수 size : 한 변 길이 (x, y) 좌표 : 사각형 왼쪽 위 color

GUI – 그래픽 객체 Cont. Method Class level에서 random generator 정의. Constructor 안에 생성하면 안됨!! static으로 선언. Data 선언부에 함께 선언. 예) private static Random generator = new Random(); draw() : 사각형을 그림. Graphic 객체  parameter로 사용. - paint()의 page와 유사.

GUI – 그래픽 객체 Cont. 애플릿 DrawSquares를 작성하라. Square class를 이용하여 사각형 5개를 생성하고 그림. paint() : 사각형 5개를 생성, 그림. 주의 : draw()에 Graphic 객체를 전달한다.

참고] 4.10, 4.11 – PushCounter.java, PushCounterPanel.java GUI – Button VoteCounter.java와 VoteCounterPane.java를 수정해보자. 후보자 1명을 추가한다. – for Sam Sam을 위한 변수 추가 - vote counter, button, label Sam을 위한 내부 class, SamButtonListener 추가 Sam button을 눌렀을 때 반응하는 listener.  ActionListener를 추가할 때, class instance 생성. panel에 Sam의 button과 label을 추가 참고] 4.10, 4.11 – PushCounter.java, PushCounterPanel.java

GUI – Textfield BMI.java , BMIPanel.java // ************************************************************* // BMI.java // // BMI(body mass index)를 계산하기 위한 GUI를 구성한다. import javax.swing.JFrame; public class BMI { // --------------------------------------------------------- // BMI GUI를 생성하고 보여준다. public static void main(String[] args) JFrame frame = new JFrame ("BMI"); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); BMIPanel panel = new BMIPanel; frame.getContentPanel().add(panel); frame.pack(); frame.setVisible (true); }

// ************************************************************* // BMIPanel.java // // GUI에서 BMI를 계산한다. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BMIPanel extends JPanel { private int WIDTH = 300; private int HEIGHT = 120; private JPanel heightLabel, weightLabel, BMILabel, resultLabel; private JTextFied height, weight; private JButton calculate; // --------------------------------------------------------- // GUI를 구성한다. public BMI() // textfield (height와 weight)의 label 생성 heightLabel = new JLabel ("Your height in meters : "); weightLabel = new JLabel ("Your weight in kilograms : ");

// "this is your BMI" label 생성 // height을 입력받을 JTextField 생성 // weight을 입력받을 JTextField 생성 // BMI를 계산할 button 생성 // button을 눌렀을 때 대응하는 BMIListener 생성 // panel에 height label과 height textfield를 추가 // panel에 weight label과 weight textfield를 추가 // panel에 button 추가 // panel에 BMI label 추가 // panel에 BMI결과를 나타내는 label 추가 // panel의 크기 지정 // panel의 색 지정 }

// ********************************************************* // 계산 button의 action listener를 나타낸다. private class BMIListener implements ActionListener { // ----------------------------------------------------- // button을 눌렀을 때 BMI 계산 public void actionPerformed (ActionEvent event) String heightText, weightText; int heightVal, weightVal; double bmi; // textfield(height, weight)에서 text를 가지고 온다. // Integer.parseInt를 이용하여 text를 int로 형변환한다. // BMI 계산 : 체중 / 신장 / 신장 or 체중 / 신장2 // 결과 label에 BMI 결과를 나타낸다. Double.toString을 사용하여 string으로 형변환한다. }

참고] 4.12, 4.13 – Fahrenheit.java, FahrenheitPanel.java GUI – Textfield BMI 프로그램을 완성해보자. BMI(Body Mass Index) 신체질량지수 – 비만도 측정에 사용. 계산법 : 체중(Kg) / 신장2 (m2) 25이상이면 비만 1단계. 주석의 설명에 따라 프로그램을 완성해보자. 참고] 4.12, 4.13 – Fahrenheit.java, FahrenheitPanel.java