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

Slides:



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

여러분은 매일 아침밥을 먹고 나오나요? 아침밥을 왜 못 먹게 되는 걸까? 남학생 여학생 아침밥을 왜 못 먹게 되는 걸까? 32 % 12 % 34 % 21 %
4. 우리들의 영양문제  기술ㆍ가정  청소년의 영양과 식사 > 1. 청소년의 영양 > 4. 우리들의 영양문제.
자바 5.0 프로그래밍.
어서와 Java는 처음이지! 제3장선택과 반복.
명품 JAVA Essential.
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
그래픽 프로그래밍 (GUI - Graphic User Interface)
Ch.22 Command Pattern 장 덕 성 계명대학교 컴퓨터공학과 정보공학실험실
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
9장. 스윙 프로그래밍.
GUI 이벤트, 이벤트 리스너와 이벤트 소스 그림 그리기 내부 클래스
제7장 이벤트 프로그래밍.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
7장 배열 ②.
7장 배열 ③.
레이아웃 관리자 스윙 구성요소 비트박스 프로그램
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
GUI 환경에서 작동하는 프로그램에 대하여 윈도우 프로그램의 작성 방법 그래픽과 이미지 디스플레이 방법 오디오 파일 재생 방법
명품 JAVA Essential.
J2ME(Java 2 Micro Edition) 무선 장치용 UI의 핵심 컴포넌트
명품 JAVA Programming.
8장 상속 ②.
Chap14 스윙(SWING) 14.1 스윙 컴포넌트 14.2 컴포넌트의 이벤트 처리
제 4 장 클래스 작성 Lab 4- 2.
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
9장 AWT(1).
명품 JAVA Programming.
명품 JAVA Programming 제 12 장 그래픽.
Choi Younghwan CSE HUFS
java.awt 패키지의 단순 컴포넌트와 이벤트 처리
Chapter 12. Awt와 Swing Chapter 13. 배치 관리자 Chapter 14. 이벤트 관리자
Swing 컴포넌트 텍스트 컴포넌트 텍스트 필드 텍스트 영역 스크롤 페인 체크 박스 라디오 버튼.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ②.
Java Seminar Chapter 4.
9장 다형성 Lab 9-2.
10장 예외 Lab 10-2.
01. 직렬화와 역직렬화에 대하여 객체의 직렬화 직렬화와 역직렬화
5장 조건과 반복 ③.
명품 JAVA Essential.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
메모장 구동.
9장 AWT(1).
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
윤 홍 란 4 장 클래스 작성 윤 홍 란
김 정 석 Web Programming 김 정 석
객체지향적인 프로그래밍에 대한 이해 클래스와 객체의 개념에 대한 이해
제 9주 이벤트 처리 그래픽프로그래밍1 제 9주 강의 목표
그래픽 사용자 인터페이스와 사건처리.
4장 Random Number 프로그래밍 언어 실험실 석사 3학기 박중기
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제5장 생성자와 접근제어 객체 지향 기법을 이해한다. 클래스를 작성할 수 있다. 클래스에서 객체를 생성할 수 있다.
어서와 Java는 처음이지! 제9장 인터페이스, 패키지.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
JAVA WINDOW PROGRAMMING
컴퓨터공학실습(I) 3주 인공지능연구실.
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
JA A V W. 04.
CACM 구현 public class CACM { public CACM(File file)
JA V A W. 07 Sb.L.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
Chapter 4 클래스 작성.
Java 5장. 객체지향 개념 public class SumTest {
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