5장 조건과 반복 ③.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ①.
12. GUI – 그래픽 이야기.
어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
10. 예외 처리.
그래픽 프로그래밍 (GUI - Graphic User Interface)
Ch.22 Command Pattern 장 덕 성 계명대학교 컴퓨터공학과 정보공학실험실
9장. 스윙 프로그래밍.
GUI 이벤트, 이벤트 리스너와 이벤트 소스 그림 그리기 내부 클래스
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
제7장 이벤트 프로그래밍.
Java 16장. 스윙 public class SumTest {
7장 배열 ②.
7장 배열 ③.
레이아웃 관리자 스윙 구성요소 비트박스 프로그램
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
GUI 환경에서 작동하는 프로그램에 대하여 윈도우 프로그램의 작성 방법 그래픽과 이미지 디스플레이 방법 오디오 파일 재생 방법
명품 JAVA Essential.
명품 JAVA Programming.
8장 상속 ②.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
10장 예외 Lab 10-1.
제 4 장 클래스 작성 Lab 4- 2.
9장 AWT(1).
8장 상속 ①.
Power Java 제19장 배치 관리자(Layout Manager).
Choi Younghwan CSE HUFS
7장 배열 ②.
Swing 컴포넌트 텍스트 컴포넌트 텍스트 필드 텍스트 영역 스크롤 페인 체크 박스 라디오 버튼.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ②.
Java Seminar Chapter 4.
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
9장 다형성 Lab 9-2.
10장 예외 Lab 10-2.
Lesson 9. 예외처리.
Lesson 6. 형변환.
5장 조건과 반복 ③.
명품 JAVA Essential.
메모장 구동.
9장 AWT(1).
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
Communication and Information Systems Lab. 황재철
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 9주 이벤트 처리 그래픽프로그래밍1 제 9주 강의 목표
그래픽 사용자 인터페이스와 사건처리.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
JAVA Canvas Swing.
어서와 C언어는 처음이지 제14장.
4 장 클래스 작성.
10장 tkinter로 GUI 만들기.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
JA A V W. 06.
객체기반 SW설계 팀활동지 4.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
제 4 장 클래스 작성 Lab 4- 2.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
윤 홍 란 4 장 클래스 작성 윤 홍 란
Chapter 4 클래스 작성.
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
어서와 C언어는 처음이지 제21장.
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));