Java Programing Environment

Similar documents
Microsoft PowerPoint - 04-UDP Programming.ppt

9장.key

gnu-lee-oop-kor-lec10-1-chap10

강의자료

No Slide Title

PowerPoint Presentation

11장.key

10장.key

Microsoft PowerPoint - 14주차 강의자료

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

자바GUI실전프로그래밍2_장대원.PDF

제8장 자바 GUI 프로그래밍 II

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - Java7.pptx

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

09-interface.key

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

PowerPoint Presentation

Microsoft PowerPoint - EEL2 Lecture10 -Swing and Event Handling.pptx

05-class.key

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

비긴쿡-자바 00앞부속

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

ch09

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

PowerPoint 프레젠테이션

PowerPoint Presentation

02 C h a p t e r Java

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

rmi_박준용_final.PDF

PowerPoint 프레젠테이션

PowerPoint Presentation

12-file.key

untitled

Java ...

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

PowerPoint 프레젠테이션

자바 프로그래밍

슬라이드 1

PowerPoint 프레젠테이션

public class FlowLayoutPractice extends JFrame { public FlowLayoutPractice() { super("flowlayout Practice"); this. Container contentpane = getcontentp

Microsoft PowerPoint - Java-03.pptx

No Slide Title

5장.key

슬라이드 1

Design Issues

Microsoft PowerPoint - ÀÚ¹Ù08Àå-2.ppt

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

JMF3_심빈구.PDF

Spring Boot/JDBC JdbcTemplate/CRUD 예제

JAVA PROGRAMMING 실습 08.다형성

Microsoft PowerPoint - 06-Chapter09-Event.ppt

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint Presentation

01-OOPConcepts(2).PDF

슬라이드 1

Interstage5 SOAP서비스 설정 가이드

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

슬라이드 1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

슬라이드 1

11-GUI.key

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Chap12

Microsoft PowerPoint - [JAVA프로그래밍]9장GUI

쉽게 풀어쓴 C 프로그래밍

gnu-lee-oop-kor-lec06-3-chap7

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

Activity Implement Class & s Definition 1) Account class urpose Overview(class) Exceptional Courses of Events class Account 계좌정보를모아두는클래스 Attribu

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft Word - java18-1-final-answer.doc

Spring Boot

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

PowerPoint Presentation

TEST BANK & SOLUTION

1.5 Issue TrafficCard Management Activity 2142 Define Reports, UI, and Storyboards window Window Windo

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

No Slide Title

JMF2_심빈구.PDF

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

DB 에데이터저장을위한입력창설계 - JLabel, JTextField, JButton 을이용한입력창설계 - 2 -

(Microsoft PowerPoint - LZVNQBAJWGTC.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

( )부록

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

Microsoft Word - java19-1-final-answer.doc

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

PowerPoint 프레젠테이션

Transcription:

Lab Exercise #7 Swing Component 프로그래밍 2007 봄학기 고급프로그래밍 김영국충남대전기정보통신공학부

실습내용 실습과제 7-1 : 정규표현식을이용한사용자정보의유효성검사 (ATM 에서사용자등록용도로사용가능 ) 실습과제 7-2 : 숫자맞추기게임 실습과제 7-3 : 은행관리프로그램 고급프로그래밍 Swing Component 프로그래밍 2

정규표현식에서의한정사사용 한정사설명 * 일치하는문자열이없거나하나이상있다. + 일치하는문자열이하나있다.? 일치하는문자열이없거나하나있다. {n} 일치하는문자열이정확히 n개있다. {n,} 일치하는문자열이적어도 n개있다. {n,m} 일치하는문자열이 n개이상 m개있다. [0-9a-zA-Z] 숫자와알파벳의조합문자열 고급프로그래밍 Swing Component 프로그래밍 3

실습과제 7-1(1) Jlabel : 읽기전용텍스트나이미지를보여주는데사용 JTextField : 사용자가키보드를통해서텍스트입력받거나프로그램이텍스트보여줄수있는단행영역 JPasswordField : 사용자가문자를입력할때실제문자를감춘다 JButton : 사용자가클릭할때특정행위가일어나도록함 command, check box, radio, toggle 등이있다. 고급프로그래밍 Swing Component 프로그래밍 4

실습과제 7-1(2) import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ValidateFrame extends JFrame { private JTextField phonetextfield, passwdfield,re_passwdfield, addresstextfield, firsttextfield, lasttextfield; public ValidateFrame() { super( "Validate" ); // create the GUI components JLabel phonelabel = new JLabel( "Phone" ); /* 다른컴포넌트추가한다. Jlabel*/ JButton okbutton = new JButton( "OK" ); okbutton.addactionlistener( new ActionListener() { // inner class public void actionperformed( ActionEvent event ) { validatedate(); } } ); 고급프로그래밍 Swing Component 프로그래밍 5

실습과제 7-1(3) /*JTextFiled components 생성한다.*/ Container container = getcontentpane(); /* GridLayout 사용 */ /* container 에 component 들을추가시킨다. */ setsize( 300, 225 ); setvisible( true ); } // end ValidateFrame constructor public static void main( String args[] ) { ValidateFrame application = new ValidateFrame(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); } 고급프로그래밍 Swing Component 프로그래밍 6

실습과제 7-1(4) public static void main( String args[] ) { ValidateFrame application = new ValidateFrame(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); } // handles okbutton action event private void validatedate() { /* 값을넣지않은필드가있는지체크 gettext() 사용 */ JOptionPane.showMessageDialog( this, "Please fill all fields" ); 고급프로그래밍 Swing Component 프로그래밍 7

실습과제 7-1(5) // first name 으로입력한값이정규표현에맞는지체크 else if (!firsttextfield.gettext().matches( "[a-za-z]{2,}" ) ) JOptionPane.showMessageDialog( this, "Invalid first name" ); // last name 으로입력한값이정규표현에맞는지체크 // address 으로입력한값이정규표현에맞는지체크 // password 으로입력한값이정규표현에맞는지체크 // repeat password 으로입력한값이정규표현에맞는지체크 // phone number ㅍ으로입력한값이정규표현에맞는지체크 else // 모든정보가맞을경우 JOptionPane.showMessageDialog( this, "Thank you" ); } // end method validatedate } // end class ValidateFrame 고급프로그래밍 Swing Component 프로그래밍 8

실습과제 7-1 실행결과 고급프로그래밍 Swing Component 프로그래밍 9

실습과제 7-2 ( 숫자맞추기 ) Math.random()(0.0~ 1.0 사이의 double 값반환 ) 을사용하여 1~1000 사이의수를생성한다. 생성된숫자를사용자가숫자를입력하여맞추는숫자맞추기게임을작성한다. 사용자입력은 TextField를통해엔터키를누르면값을입력받는다.( 입력값 int형으로변환필요 ) 입력값이맞출값 ( 랜덤값 ) 보다작으면파란색배경화면, 크면빨간색배경화면, 일치할경우회색배경화면으로전환한다. [New Game] 버튼을통해새로운게임을시작한다. 고급프로그래밍 Swing Component 프로그래밍 10

실습과제 7-2 ( 실행결과 ) 고급프로그래밍 Swing Component 프로그래밍 11

실습과제 7-2 ( 실행결과 ) 고급프로그래밍 Swing Component 프로그래밍 12

실습과제 7-3 스윙을이용한은행관리프로그램을작성한다. 다양한 Layout을적용할수있다. JButton, JTextField와같은여러가지 Components등을사용할수있다. GUI 프로그램으로부터입력을받아 Bank 클래스를조작할수있다. Java 프로그래밍 Swing 을사용한사용자인터페이스 13

실습과제설명 Bank GUI 와기존 Banking 패키지를이용하여간단한은행관리프로그램을만든다. Bank 는은행에서사용하는 GUI 부분으로 Customer 와 Account 에관련된모든일을수행한다. Bank 에서는 < 고객추가 >, < 계좌추가 >, < 계좌정보 > 의기능을가진다. < 고객추가 > 는고객이름, 연락처, 성별등을입력받아고객을등록시킨다. < 계좌추가 > 는생성된고객에대한계좌번호, 계좌타입, 초기금액을입력받아계좌를생성한다. < 계좌정보 > 는고객에따른계좌타입, 계좌번호, 초기금액등을보여준다. Java 프로그래밍 Swing 을사용한사용자인터페이스 14

Bank GUI UML(1) BANK GUI Bank Information +JLabel : title +Jlist : printinfo +JButton : addcustomer, addaccout, printaccoutinfo, end Java 프로그래밍 Swing 을사용한사용자인터페이스 15

Bank GUI UML(2) BANK GUI Customer Infomaition +JLabel : Name, Phone +JTextField :Name, Phone +JRadioButton : Male, Female +JButton : AddCustomer, Cacel Account Information +JLabel : Name, Balance, Account +JcomboBox : Name, AccountType +JTextField : Account, Balance +JButton : AddAccount, Cancel Java 프로그래밍 Swing 을사용한사용자인터페이스 16

Bank 클래스 UML Bank -numberofcustomers : int +Bank() +addcustomer( n : String, p : String, s String ) +getnumofcustomers() : int +getcustomer( index : int ) : Customer Java 프로그래밍 Swing 을사용한사용자인터페이스 17

Customer 클래스 UML Customer -name : String -phone : String -sex : String -numberofaccounts : int +Customer( n : String, p : String, s : String) +getname() : String +getphone() : String +getsex() : String +addaccount( accnt : Account ) +getaccount( index : int ) : Account +getnumofaccounts() : int Java 프로그래밍 Swing 을사용한사용자인터페이스 18

Account 클래스 UML Account -acctnumber : String -balance : double +Account( acct_num : String, init_balance : double ) +getaccoutnumber() : String +getaccouttype() : String +getbalance() : double +deposit( amt : double ) : boolean +withdraw( amt : double ) : boolean Java 프로그래밍 Swing 을사용한사용자인터페이스 19

SavingsAccount 클래스 UML SavingsAccount +SavingsAccount(acct_num : String, init_balance : double ) +getaccouttype() : String Java 프로그래밍 Swing 을사용한사용자인터페이스 20

CheckingAccount 클래스 UML CheckingAccout +CheckingAccount(acct_num : String, init_balance : double ) +getaccouttype() : String Java 프로그래밍 Swing 을사용한사용자인터페이스 21

Banking 패키지 Java 프로그래밍 Swing 을사용한사용자인터페이스 22

실행결과 (1) - 메인화면 Java 프로그래밍 Swing 을사용한사용자인터페이스 23

실행결과 (2) - 고객추가 Java 프로그래밍 Swing 을사용한사용자인터페이스 24

실행결과 (3) 계좌추가 Java 프로그래밍 Swing 을사용한사용자인터페이스 25

실행결과 (4) - 계좌정보 Java 프로그래밍 Swing 을사용한사용자인터페이스 26