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

Similar documents
<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

10장.key

PowerPoint Presentation

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 14주차 강의자료

Microsoft PowerPoint - java1-lecture10.ppt [호환 모드]

PowerPoint 프레젠테이션

<4D F736F F F696E74202D205B4A415641C7C1B7CEB1D7B7A1B9D65D3130C0E5C0CCBAA5C6AEC3B3B8AE>

9장.key

Microsoft PowerPoint - 06-Chapter09-Event.ppt

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

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint 프레젠테이션

11장.key

슬라이드 1

No Slide Title

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

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

Java Programing Environment

오버라이딩 (Overriding)

Microsoft PowerPoint - Java-03.pptx

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

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

PowerPoint Presentation

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

No Slide Title

슬라이드 1

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - java2-lecture5.ppt [호환 모드]

모든스윙컴포넌트에는텍스트옆에이미지를추가로표시할수있다. ImageIcon image = new ImageIcon("image.gif"); JLabel label = new JLabel(" 이미지레이블 "); label.seticon(image);

강의자료

Cluster management software

PowerPoint Presentation

Microsoft PowerPoint - 10장

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

05-class.key

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

PowerPoint Presentation

슬라이드 1

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - java1-lecture11.ppt [호환 모드]

PowerPoint 프레젠테이션

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

Chap12

PowerPoint 프레젠테이션

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

PowerPoint Presentation

연습문제이론홀수정답

중간고사

JTable과 MVC(Model-View-Controller) 구조 - 모델-뷰-컨트롤러구조는데이터의저장과접근에대한제공은모델이담당하고, 화면표시는뷰, 이벤트의처리는컨트롤러가하도록각역할을구분한구조이다. 즉, 역할의분담을통하여상호간의영향을최소화하고각요소의독립성을보장하여독자

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

PowerPoint 프레젠테이션

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

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

쉽게 풀어쓴 C 프로그래밍

11-GUI.key

운동시뮬레이션 강의 소개

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

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

Design Issues

어댑터뷰

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 08.다형성

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

예제 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

02 C h a p t e r Java

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

Java ...

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

PowerPoint Presentation

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

PowerPoint Presentation

ch09

10 이벤트 처리와 그래픽 프로그래밍.key

제11장 프로세스와 쓰레드

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

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

Microsoft PowerPoint - 2강

Network Programming

JMF3_심빈구.PDF

Microsoft PowerPoint - java2-lecture6.ppt [호환 모드]

비긴쿡-자바 00앞부속

Spring Boot/JDBC JdbcTemplate/CRUD 예제

rmi_박준용_final.PDF

PowerPoint Presentation

Microsoft PowerPoint - java1-lecture11.ppt [호환 모드]

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

PowerPoint 프레젠테이션

09-interface.key

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

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

Spring Data JPA Many To Many 양방향 관계 예제

Transcription:

어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스

스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다.

사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우

두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다.

class MyFrame extends JFrame { private JButton button1; private JButton button2; private JPanel panel; public MyFrame() { this.setsize(300, 200); this.setdefaultcloseoperation(jframe.exit_on_close); this.settitle(" 이벤트예제 "); panel = new JPanel(); button1 = new JButton(" 노란색 "); button1.addactionlistener(new MyListener()); panel.add(button1); button2 = new JButton(" 핑크색 "); button2.addactionlistener(new MyListener()); panel.add(button2); this.add(panel); this.setvisible(true);

private class MyListener implements ActionListener { public void actionperformed(actionevent e) { if (e.getsource() == button1) { panel.setbackground(color.yellow); else if (e.getsource() == button2) { panel.setbackground(color.pink); public class ChangeBackground { public static void main(string[] args) { MyFrame t = new MyFrame();

getsource() 메소드를이용하여이벤트를발생시킨객체를식별한다. getid() 메소드를이용하여이벤트의타입을식별한다. getactioncommand() 메소드를이용하여이벤트를발생시킨컴포넌트이름을식별한다. public void actionperformed(actionevent e) { if (e.getsource () == button1){

KeyListener 인터페이스구현 메소드 설명 keytyped(keyevent e) 사용자가글자를입력했을경우에호출 keypressed(keyevent e) keyreleased(keyevent e) 사용자가키를눌렀을경우에호출 사용자가키에서손을떼었을경우에호출

상 ( ), 하 ( ), 좌 ( ), 우 ( ) 키를입력하면, 다음그림과같이 "HELLO" 문자열이 10 픽셀씩이동하는프로그램을작성하라. (50,50) 초기상태 상, 하, 좌, 우키를여러번입력하여 "HELLO" 를움직인상태 상, 하, 좌, 우키를움직이면한번에 10 픽셀씩 "HELLO" 텍스트는상, 하, 좌, 우로이동한다. 이텍스트는프레임의영역을벗어나서움직일수있다.

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FlyingTextEx extends JFrame { JPanel contentpane = new JPanel(); JLabel la = new JLabel("HELLO"); FlyingTextEx() { super(" 상, 하, 좌, 우키를이용하여텍스트움직이기 "); setdefaultcloseoperation(jframe.exit_on_close); setcontentpane(contentpane); contentpane.setlayout(null); contentpane.addkeylistener(new MyKeyListener()); la.setlocation(50, 50); la.setsize(100, 20); contentpane.add(la); setsize(200, 200); setvisible(true); contentpane.requestfocus(); // 포커스지정

class MyKeyListener extends KeyAdapter { public void keypressed(keyevent e) { int keycode = e.getkeycode(); // 입력된키코드 switch(keycode) { case KeyEvent.VK_UP: la.setlocation(la.getx(), la.gety() - 10); break; case KeyEvent.VK_DOWN: la.setlocation(la.getx(), la.gety() + 10); break; case KeyEvent.VK_LEFT: la.setlocation(la.getx() - 10, la.gety()); break; case KeyEvent.VK_RIGHT: la.setlocation(la.getx() + 10, la.gety()); break; public static void main(string [] args) { new FlyingTextEx();

키보드에서문자가입력되면문자코드와키코드, ALT 나 SHIFT 키의상태를텍스트영역에출력한다. JTextField JTextArea

keytyped(keyevent e) e.isaltdown() e.iscontroldown() e.isshiftdown()

public class KeyEventTest extends JFrame implements KeyListener { private JPanel panel; private JTextField field; private JTextArea area; public KeyEventTest() { panel = new JPanel(new GridLayout(0, 2)); panel.add(new JLabel(" 문자를입력하시오 : ")); field = new JTextField(10); panel.add(field); area = new JTextArea(3, 30); add(panel, BorderLayout.NORTH); add(area, BorderLayout.CENTER); field.addkeylistener(this); settitle("keyevent Test"); setsize(400, 200); setvisible(true); public static void main(string[] args) { new KeyEventTest();

public void keytyped(keyevent e) { // (3) display(e, "Key Typed "); public void keypressed(keyevent e) { display(e, "Key Pressed "); public void keyreleased(keyevent e) { display(e, "Key Released "); protected void display(keyevent e, String s) { char c = e.getkeychar(); int keycode = e.getkeycode(); String modifiers = "Alt: " + e.isaltdown() + "Ctrl: " + e.iscontroldown() + "Shift: " + e.isshiftdown(); area.append("" + s + " 문자 " + c + "( 코드 : " + keycode + ") " + modifiers + "\n");

public void keytyped(keyevent e) { // (3) display(e, "KeyTyped "); public void keypressed(keyevent e) { display(e, "KeyPressed "); public void keyreleased(keyevent e) { display(e, "Key Pressed "); protected void display(keyevent e, String s) { char c = e.getkeychar(); int keycode = e.getkeycode(); String modifiers = e.isaltdown() + " " + e.iscontroldown() + " " + e.isshiftdown(); System.out.println(s + " " + c + " " + keycode + " " + modifiers);