5장 조건과 반복 ③.

Slides:



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

5 장 조건과 반복 ②. Contents Counting and Looping [while 문 사용 ] Powers of 2 [while 문 사용 ] More Guessing [do 문 사용 ] Election Day [do 문 사용 ] Finding Maximum &
자바 5.0 프로그래밍.
어서와 Java는 처음이지! 제3장선택과 반복.
명품 JAVA Essential.
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
10. 이벤트 처리와 그래픽프로그래밍 자바프로그래밍 강원대학교.
제 12일 그래픽사용자인터페이스 (Graphic User Interface)
그래픽 프로그래밍 (GUI - Graphic User Interface)
Ch.22 Command Pattern 장 덕 성 계명대학교 컴퓨터공학과 정보공학실험실
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
9장. 스윙 프로그래밍.
10장. 이벤트 처리와 그래픽 프로그래밍.
GUI 이벤트, 이벤트 리스너와 이벤트 소스 그림 그리기 내부 클래스
제7장 이벤트 프로그래밍.
7장 배열 ②.
7장 배열 ③.
레이아웃 관리자 스윙 구성요소 비트박스 프로그램
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
GUI 환경에서 작동하는 프로그램에 대하여 윈도우 프로그램의 작성 방법 그래픽과 이미지 디스플레이 방법 오디오 파일 재생 방법
명품 JAVA Essential.
명품 JAVA Programming.
8장 상속 ②.
Chap14 스윙(SWING) 14.1 스윙 컴포넌트 14.2 컴포넌트의 이벤트 처리
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
제 4 장 클래스 작성 Lab 4- 2.
9장 AWT(1).
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
2. 자바 애플릿.
Power Java 제19장 배치 관리자(Layout Manager).
명품 JAVA Programming 제 12 장 그래픽.
Choi Younghwan CSE HUFS
java.awt 패키지의 단순 컴포넌트와 이벤트 처리
Chapter 12. Awt와 Swing Chapter 13. 배치 관리자 Chapter 14. 이벤트 관리자
Swing 컴포넌트 텍스트 컴포넌트 텍스트 필드 텍스트 영역 스크롤 페인 체크 박스 라디오 버튼.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ②.
목 차 1. swing component 특징 및 관련 packages
Java Seminar Chapter 4.
9장 다형성 Lab 9-2.
10장 예외 Lab 10-2.
최용술 장 Thread 최용술
명품 JAVA Essential.
Hadoop 김연왕
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
메모장 구동.
9장 AWT(1).
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
Lesson 10. 애플릿과 그래픽.
주소록 프로그램.
제 9주 이벤트 처리 그래픽프로그래밍1 제 9주 강의 목표
그래픽 사용자 인터페이스와 사건처리.
6장 객체-지향 설계 ①.
4장 Random Number 프로그래밍 언어 실험실 석사 3학기 박중기
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
5장 조건과 반복 ②.
4 장 클래스 작성.
6장 객체-지향 설계 ①.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
컴퓨터공학실습(I) 3주 인공지능연구실.
JA A V W. 04.
자바 5.0 프로그래밍.
제8장 쓰레드 프로그래밍.
제 4 장 클래스 작성 Lab 4- 2.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
윤 홍 란 4 장 클래스 작성 윤 홍 란
Chapter 4 클래스 작성.
5장 조건과 반복 ③.
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

5장 조건과 반복 ③

Contents 무지개 그리기 투표 하기 제곱근 구하기 급료 계산하기 글자 모양 바꾸기

무지개 그리기 무지개를 그리는 프로그램을 작성하시오. 중심이 같은 호를 이용하여 그린다. 여러 가지 색깔을 이용하여 호를 그린다. 여러 가지 색깔을 표현하기 위해, RGB값이 적절히 변하도록 할 수 있다. 또는, 몇 가지 색상이 교대로 바뀌도록 할 수 있다. 교재 p256의 소스리스트 5.15, 5.16 참고

투표 하기 Joe, Sam 두 후보에게 투표하기 위한 시스템인 VoteCounter.java, VoteCounterPanel.java 를 완성하시오. 첨부된 파일은 Joe 한 명에게만 투표가 가능하다. 이를 Sam에게도 투표가 가능하도록 확장하라. Sam을 위한 변수를 추가한다. (득표수, 버튼, 레이블) Sam을 위한 버튼과 레이블을 패널에 추가한다. 감청자의 ActionPerformed() 메소드를 적절히 수정한다. 누가 승자인지 나타내 주도록 확장하라. 승자를 나타내기 위한 레이블을 생성하고, 패널에 추가한다. 주의!! 4장에서 이와 비슷한 예제를 다루었었다. 그때는 감청자를 두 개 사용했으나, 여기서는 감청자를 하나만 사용하도록 한다. 교재 p262의 소스리스트 5.19, 5.20을 참고

투표 하기 (cont.) //********************************************************* // VoteCounter.java // // Joe, Sam 두 호보를 위한 투표 시스템 import javax.swing.JFrame; public class VoteCounter { public static void main(String[] args) JFrame frame = new JFrame("Vote Counter"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new VoteCounterPanel()); frame.pack(); frame.setVisible(true); }

투표 하기 (cont.) //********************************************************* // VoteCounterPanel.java // // Joe, Sam 두 후보에게 투표하기 위한 버튼을 제공하는 패널 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class VoteCounterPanel extends JPanel { private int votesForJoe; private JButton joe; private JLabel labelJoe; // 구성자 public VoteCounterPanel() votesForJoe = 0; joe = new JButton("Vote for Joe"); joe.addActionListener(new VoteButtonListener());

투표 하기 (cont.) labelJoe = new JLabel("Votes for Joe: " + votesForJoe); add(joe); add(labelJoe); setPreferredSize(new Dimension(300, 40)); setBackground(Color.cyan); } // 버튼이 눌리는 이벤트에 반응하기 위한 감청자 private class VoteButtonListener implements ActionListener { // 버튼이 눌렸을 때 불림 public void actionPerformed(ActionEvent event) votesForJoe++; labelJoe.setText("Votes for Joe: " + votesForJoe);

제곱근 구하기 제곱근을 구하는 프로그램인 SquareRoots.java를 작성하시오. 정수를 하나 입력 받아, 그것의 제곱근이 무엇인지를 알려주는 다이얼로그 박스를 띄운다. 교재 p266의 소스리스트 5.21의 EvenOdd.java를 참고하시오. 정수를 하나 입력 받아, 그것이 짝수인지 홀수인지 알려주는 다이얼로그 박스를 띄운다.

제곱근 구하기 (cont.) //******************************************************************** // EvenOdd.java // // JOptionPane 클래스의 사용을 보여준다. import javax.swing.JOptionPane; class EvenOdd { //----------------------------------------------------------------- // 사용자의 입력값이 짝수인지 홀수인지를 결정한다. // 사용자와의 상호작용을 위해서 여러 개의 다이얼로그 상자를 사용한다. public static void main (String[] args) String numStr, result; int num, again; do numStr = JOptionPane.showInputDialog ("Enter an integer: "); num = Integer.parseInt(numStr); result = "That number is " + ((num%2 == 0) ? "even" : "odd"); JOptionPane.showMessageDialog (null, result); again = JOptionPane.showConfirmDialog (null, "Do Another?"); } while (again == JOptionPane.YES_OPTION);

급료 계산하기 일한 시간에 따라 급료를 받는 근로자의 총 급료를 계산하는 PayCheck.java를 작성하시오. 입력 다이얼로그 일한 시간을 입력 받는다. 시간당 얼마의 급료를 받는지 입력 받는다. 출력 다이얼로그 총 급료가 얼마인지 출력 한다.

글자 모양 바꾸기 글자의 모양과 크기를 원하는 대로 바꾸는 프로그램인 StyleOptions.java, StyleOptionsPanel.java를 완성하시오. 주어진 프로그램은, 체크 상자를 이용하여 글씨체를 두껍게 하거나 이탤릭체로 바꾼다. 여기에, 라디오 버튼을 이용하여 글씨의 크기를 바꾸는 부분을 추가한다. 글씨 크기 종류 : small(12), medium(24), large(36) 라디오 버튼을 추가하고 그에 해당하는 감청자를 설정하는 방법은, 교재 p273의 소스리스트 5.24, 5.25를 참고한다.

글자 모양 바꾸기 (cont.) //******************************************************************** // StyleOptions.java // // 체크 상자의 사용을 보여준다. import javax.swing.JFrame; public class StyleOptions { // 프로그램 프레임을 생성하고 제시한다. public static void main (String[] args) JFrame frame = new JFrame ("Style Options"); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); StyleOptionsPanel panel = new StyleOptionsPanel(); frame.getContentPane().add (panel); styleFrame.pack(); styleFrame.setVisible(true); }

글자 모양 바꾸기 (cont.) //******************************************************************** // StyleOptionsPanel.java // // 체크 상자의 사용을 보여준다. import javax.swing.*; import java.awt.*; import java.awt.event.*; public class StyleOptionsPanel extends JPanel { private int fontSize = 36; private int style = Font.PLAIN; private JLabel saying; private JCheckBox bold, italic; //----------------------------------------------------------------- // 한개의 레이블과 이 레이블의 글꼴 유형을 제어하는 체크 상자들을 갖는 // 패널을 설정한다. public StyleOptionsPanel() saying = new JLabel ("Say it with style!"); saying.setFont (new Font ("Helvetica", style, fontSize)); bold = new JCheckBox ("Bold"); bold.setBackground (Color.cyan); italic = new JCheckBox ("Italic"); italic.setBackground (Color.cyan);

글자 모양 바꾸기 (cont.) StyleListener listener = new StyleListener(); bold.addItemListener (listener); italic.addItemListener (listener); add (saying); add (bold); add (italic); setBackground (Color.cyan); setPreferredSize (new Dimension(300, 100)); } //***************************************************************** // 두 개의 체크 상자에 대한 감청자를 표현한다. private class StyleListener implements ItemListener { //-------------------------------------------------------------- // 레이블의 글꼴 스타일을 갱신한다. public void itemStateChanged (ItemEvent event) style = Font.PLAIN; if (bold.isSelected()) style = Font.BOLD; if (italic.isSelected()) style += Font.ITALIC; saying.setFont (new Font ("Helvetica", style, fontSize));