제1장 자바 언어 소개

Size: px
Start display at page:

Download "제1장 자바 언어 소개"

Transcription

1 프로그래머를위한 Java 2 제7장이벤트프로그래밍 참고 : 구버전 (2005 년이전 ) 의 7 장이벤트프로그래밍 7.2 : AWT event 7.3 : Swing event 신버전 (2006 년이후 ) 의 7.3 : 이벤트부분

2 이벤트 ( 신 7.3) 2 이벤트 사용자의액션혹은시스템의어떤사건 이벤트드리븐프로그래밍 이벤트분류 Low level event 세부적인이벤트 High level event 논리적인이벤트

3 이벤트프로그램작성 ( 신 7.3) 3 이벤트프로그램작성요령 GUI 컴포넌트 ( 예 : JButton) 를생성한다. 이벤트리스너인터페이스 ( 예 : ActionListener) 를구현하는클래스를작성한다. GUI 컴포넌트에이벤트리스너를등록 ( 예 : addactionlistener()) 한다. 이벤트관련패키지 java.awt.event javax.swing.event

4 7. 이벤트프로그래밍 4 이벤트-드리븐 (event-driven) 프로그래밍 마우스버튼클릭, 더블클릭, 마우스이동등의모든사용자액션에대해응답하는형태로작동하도록하는프로그래밍 윈도우환경에서는대부분의응용프로그램이이벤트-드리븐프로그래밍방식으로작성된다. 일반프로그램 이벤트 - 드리븐프로그램

5 7.1 AWT 이벤트 5 고수준이벤트 여러개의작은이벤트들로이루어져있는의미있는것 예 : 마우스를클릭한다 저수준이벤트 작은작업들로세밀하게표현되는것 예 : 마우스클릭 --> 마우스를이동한다., 마우스를누른다., 마우스를띤다. 버튼에서클릭에따른이벤트처리과정 1. 버튼객체를생성한다. Button ok = new Button("OK"); 2. 버튼을클릭하는경우에수행할작업을버튼에등록한다. 버튼에등록할때 addactionlistener() 라는메소드를이용한다. ok.addactionlistener(...)

6 7.1 AWT 이벤트 6 예제 ) 버튼에서액션이벤트를처리 ActionListener 인터페이스를임플리멘츠해야한다. ActionListener 인터페이스를임플리멘츠하는클래스는 actionperformed() 메소드를만들어야한다. 버튼에서클릭이발생하면아래그림과같이등록된이벤트핸들러클래스의 actionperformed() 메소드가호출되어실행

7 7.1 AWT 이벤트 7 버튼에수행내용등록 addactionlistener(..) 메소드이용. 이메소드의매개변수는버튼클릭에의해작업할내용을갖는객체임. 버튼을클릭하면 actionperformed(action ) 가수행되도록약속되어있음. 객체에 actionperfomed(action) 메소드가있음을보장하기위해 ActionListener인터페이스를임프리멘츠함. Button ok = new Button("OK"); ok.addactionlistener( ); O K 등록 class implements ActionListener public void actionperformed (Action e) {... }

8 이벤트프로그램작성 8 예제 : Button.java ( 신 7.3.1) 2 import java.awt.event.*; 5 public class Button extends JFrame implements ActionListener { 11 ok = new JButton("OK"); 12 ok.addactionlistener(this); 20 public void actionperformed(action e) { 21 Object o = e.getsource(); 22 if(o == ok) { 23 System.out.println("OK");

9 이벤트클래스들 9 이벤트클래스상속관계 ( 신 7.3.2)

10 이벤트클래스들 10 Object 이벤트클래스의가장상위클래스 Action 버튼클릭, 텍스트필드에서엔터입력, 리스트에서더블클릭, 메뉴아이템선택 Item 체크박스, 라디오, 리스트, 콤보박스 Mouse, MouseWheel 마우스작동 Key 키보드입력

11 이벤트처리 11 이벤트처리절차

12 7.1 AWT 이벤트 12 AWT 컴포넌트에서발생할수있는이벤트들 AWT 컴포넌트 action adjus tment Button Canvas Checkbox Checkbox MenuItem Choice Componen t Container Dialog Frame Label comp onent cont ainer 발생할수있는이벤트 focu s ite m ke y mous e mouse motio n X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X text window X X X X X X X X X X X X X X X X X X X

13 7.1 AWT 이벤트 13 AWT 컴포넌트 List MenuItem Panel Scrollbar ScrollPane TextArea TextCompo nent TextField Window nt 발생할수있는이벤트 actio adjust com cont focu ite key mous n ment pone ainer s m e X X X X X X X mouse text window motio X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X n

14 7.1 AWT 이벤트 14 각이벤트에따라등록해야하는인터페이스들이있다. 인터페이스이름은 이벤트이름 +Listener 의형태이다. 인테페이스에선언된메소드의목록 Listener Interface Adapter Class Methods ActionListener none actionperformed(action) AdjustmentListener none adjustmentvaluechanged(adjustmenteven ComponentListener ComponentAdapt t) componenthidden(component) er componentmoved(component) componentresized(component) componentshown(component) ContainerListener ContainerAdapter componentadded(container) componentremoved(container)

15 7.1 AWT 이벤트 15 Listener Interface Adapter Class Methods FocusListener FocusAdapter focusgained(focus) focuslost(focus) ItemListener none itemstatechanged(item) KeyListener KeyAdapter keypressed(key) keyreleased(key) keytyped(key) MouseListener MouseAdapter mouseclicked(mouse) mouseentered(mouse) mouseexited(mouse) mousepressed(mouse) mousereleased(mouse) MouseMotionListener MouseMotionAdapter mousedragged(mouse) mousemoved(mouse)

16 7.1 AWT 이벤트 16 Listener Interface Adapter Class Methods TextListener none textvaluechanged(text) WindowListener WindowAdapter windowactivated(window) windowclosed(window) windowclosing(window) windowdeactivated(window) windowdeiconified(window) windowiconified(window) windowopened(window)

17 7.2 이벤트처리 기본적인클래스들 1. Object 클래스 java.util 패키지의 Object 는모든이벤트클래스들에서가장상위에있는클래스이다. 따라서모든이벤트클래스들은직접혹은간접적으로이클래스로부터상속받고있다. 생성자와메소드 Object(Object source) - Object 타입의객체를생성. Object getsource() - 이벤트가발생한객체를리턴. String tostring() - 이벤트를문자열로리턴.

18 7.2 이벤트처리 AWT 클래스 AWT 이벤트를위한클래스중에서가장상위클래스, Object 로부터상속받음. AWT 는 AWT 이벤트를표현하기위해 id 속성을가진다 생성자와메소드 AWT( event) - JDK1.0 에서사용되던이벤트 () 타입의객체를이용해서 AWT 를생성. AWT(Object source, int id) - 이벤트가발생한곳 (source) 와이벤트타입 (id) 를이용해서 AWT 를생성. int getid() - 이벤트타입을리턴. String paramstring() - 이벤트의상태를문자열로리턴.

19 7.2 이벤트처리 Action 컴포넌트에서정의한고수준의이벤트가발생한것을표현하기위한클래스 액션이벤트가발생하는경우 버튼을클릭할때 텍스트필드에서엔터를칠때 리스트에서더블클릭할때 메뉴아이템을선택할때 ( 클릭할때 ) Action 생성자 Action(Object source, int id, String command) - ActionEvnet 를생성한다. Action(Object source, int id, String command, int modifiers) - 모디파이어키가눌려진 Action 를생성한다.

20 7.2 이벤트처리 20 Action는다음과같은메소드들을가진다. String getactioncommand() - 액션과관련된명령어문자열을리턴한다. int getmodifiers() - 액션이발생할때눌려진모디파이어키를리턴한다. 모디파이어키는쉬프트, 알트, 컨트롤키를의미한다. 1. 버튼 버튼을마우스로클릭하는경우에 Action가발생. 버튼의액션이벤트를처리하기위해서는버튼을생성한후에 addactionlistener() 메소드를호출해서이벤트처리루틴을등록해주어야함. ActionListener 인터페이스에는 actionperformed() 가선언되어있으므로임플리멘츠하는클래스는 actionperformed() 를정의해주어야함.

21 7.2 이벤트처리 21 예제 : Button.java 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class Button extends Frame implements ActionListener { 5 Button exit, print; 6 7 public Button() { 8 super(" 버튼의이벤트테스트 "); 9 print = new Button("Hello"); 10 print.addactionlistener(this); exit = new Button("Exit"); 13 exit.addactionlistener(this); add("north", print); 16 add("south", exit); setsize(300, 200);

22 7.2 이벤트처리 setvisible(true); 20 } public void actionperformed(action e) { 23 if(e.getsource() == print) { 24 System.out.println("Hello~~"); 25 }else if(e.getsource() == exit) { 26 setvisible(false); 27 dispose(); 28 System.exit(0); 29 } 30 } public static void main(string args[]) { 33 Button be = new Button(); 34 } 35 }

23 7.2 이벤트처리 텍스트필드 텍스트필드에서엔터키를입력하는경우에 Action 가발생한다. 예제 : TextField.java 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class TextField extends Frame implements ActionListener { 5 TextField one, two; 6 Button exit; 7 8 public TextField() { ` 9 super(" 텍스트필드이벤트 "); 10 one = new TextField("How are you?"); 11 one.addactionlistener(this); 12 two = new TextField("Hello"); 13 two.addactionlistener(this); 14 exit = new Button("Exit"); 15 exit.addactionlistener(this);

24 7.2 이벤트처리 add("north", one); 18 add("south", two); 19 add("east", exit);.. 24 public void actionperformed(action e) { 25 if(e.getsource() == one) { 26 String msg = two.gettext(); 27 two.settext(one.gettext()); 28 one.settext(msg); 29 }else if(e.getsource() == two) { 30 System.out.println(two.getText()); 31 String msg = two.gettext(); 32 two.settext(one.gettext()); 33 one.settext(msg); 34 }else if(e.getsource() == exit) { 35 setvisible(false); 36 dispose(); 37 System.exit(0);

25 7.2 이벤트처리 Item Item 는체크박스, 라디오버튼, 선택, 리스트에서아이템이 선택되거나선택이해제되는경우에발생하는고수준이벤트이다. Item 의멤버필드 static int DESELECTED - 선택이해제된것 static int ITEM_STATE_CHANGED - 아이템의상태가변경됨 static int SELECTED - 아이템이선택된것 Item 의생성자 Item(ItemSelectable source, int id, Object item, int statechange) - ItemEvnet 를생성한다

26 7.2 이벤트처리 26 Item의메소드 Object getitem() - 이벤트에의해영향받는아이템을리턴한다. ItemSelectable getitemselectable() - 이벤트의발생지를리턴한다. int getstatechange() - 변경된상태를리턴한다. Item 를처리하기위해서는 ItemListener 인터페이스를 임플리멘츠한이벤트핸들러를 additemlistener() 메소드를이용해서 등록해야한다. ItemListener 인터페이스는 itemstatechanged() 메소드를가지고있다. void itemstatechanged(item e) - 아이템이선택되거나선택이해제될때자동적으로호출된다.

27 7.2 이벤트처리 체크박스 체크박스를선택하거나선택을해제할때 Item가발생한다. 예제 : Check.java.. 4 public class Check extends Frame 5 implements ItemListener, ActionListener {. 11 public Check() {. 15 top.add(one = new Checkbox("One")); 16 one.additemlistener(this); 17 top.add(two = new Checkbox("Two")); 18 two.additemlistener(this); Panel bottom = new Panel(); 21 cbg = new CheckboxGroup(); 22 bottom.add(male = new Checkbox(" 남자 ", cbg, true)); 23 male.additemlistener(this);

28 7.2 이벤트처리 bottom.add(female = new Checkbox(" 여자 ", cbg, false)); 25 female.additemlistener(this);.. 44 public void itemstatechanged(item e) { 45 Object o = e.getsource(); if(o == one) { 48 System.out.println(e.getItem()); 49 }else if(o == two) { 50 if(e.getstatechange() == Item.SELECTED) { 51 System.out.println("two is selected"); 52 } else { 53 System.out.println("two is deselected"); 54 } 55 }else if(o == male) { 56 System.out.println(" 남자 - selected"); 57 }else if(o == female) { 58 System.out.println(" 여자 - selected"); 59 } 60 }..

29 7.2 이벤트처리 선택버튼 (Choice) 선택버튼의아이템을선택하는경우에 Item 가발생한다. 3. 라디오버튼 (Radio) 라디오버튼은체크박스의특수한형태이다. 라디오버튼을 선택하는경우에 Item 가발생한다. 4. 리스트 (List) 리스트의아이템을더블클릭하는경우에는 Action 가, 한번클릭하는경우에는 Item 가발생한다.

30 7.2 이벤트처리 30 예제 : ChoiceList.java 4 public class ChoiceList extends Frame 5 implements ActionListener, ItemListener { 11 public ChoiceList() { 12 super("choice 와 List 이벤트 "); fruits = new Choice(); 15 fruits.additemlistener(this); 16 fruits.add("apple"); 17 fruits.add("orange"); 18 fruits.add("banna"); color = new List(3, true); 21 color.additemlistener(this); 22 color.addactionlistener(this); 23 color.add("blue"); 24 color.add("red");

31 7.2 이벤트처리 public void itemstatechanged(item e) { 52 Object o = e.getsource(); 53 if(o == fruits) { 54 System.out.println(fruits.getSelectedItem()); 55 } else if(o == color) { 56 Object si[] = color.getselecteditems(); 57 System.out.println(" 현재선택된아이템들 "); 58 for(int i=0; i < si.length; i++) { 59 System.out.print(si[i] + " "); 60 } 61 System.out.println("\n "); 62 System.out.print(" 이벤트가발생한아이템 : "); 63 int index = ((Integer)e.getItem()).intValue(); 64 System.out.println(color.getItem(index)); 65 System.out.println("\n \n"); 66 } 67 }..

32 7.2 이벤트처리 Window 윈도우의상태가변경될때발생하는저수준의이벤트. 윈도우가열리는경우, 닫히는경우, 활성화되는경우, 비활상화되는경우, 아이콘이되는경우, 아이콘에서원도우로다시변경되는경우에발생. 윈도우, 다이얼로그, 프레임에서발생할수있다. WindowEvnet 의생성자와메소드 Window(Window source, int id) - Window 를생성한다. Window getwindow() - 이벤트가발생한윈도우를리턴한다. WindowListener 인터페이스의 7 개메소드를모두정의할필요가 없을경우, WindowAdapter 클래스를상속하는클래스를정의하고필요한 메소드만오버라이드하여사용하는것이가능.

33 7.2 이벤트처리 33 예제 : Frame.java.. 4 public class Frame extends Frame { 5 Label msg; 6 7 public Frame() {.. 12 addwindowlistener(new WindowHandler()); 13 setsize(300, 200); 14 setvisible(true); 15 } public class WindowHandler extends WindowAdapter { 18 public void windowclosing(window e) { 19 Window w = e.getwindow(); 20 w.setvisible(false); 21 w.dispose(); 22 System.exit(0); 23 }..

34 7.2 이벤트처리 Mouse 마우스관련이벤트는마우스클릭과마우스이동에관한 2 가지형태로분류할수있다. 마우스클릭관련이벤트는MouseListener 인터페이스에서관리 마우스이동관련이벤트는MouseMotion Listener 인터페이스에서관리 각각 MouseAdapter 와 MouseMotionAdapter 클래스들을제공 예제 : DrawRect.java 6 int startx, starty, w, h; 7 8 public void init() { 9 addmouselistener(new MouseHandler()); 10 addmousemotionlistener(new MouseMotionHandler());

35 7.2 이벤트처리 21 public class MouseMotionHandler extends MouseMotionAdapter { 22 public void mousedragged(mouse e) { 23 w = Math.abs(startX - e.getx()); 24 h = Math.abs(startY - e.gety()); 25 repaint(); 29 public class MouseHandler extends MouseAdapter { 30 public void mousepressed(mouse e) { 31 startx = e.getx(); 32 starty = e.gety(); 33 } public void mousereleased(mouse e) { 36 w = Math.abs(startX - e.getx()); 37 h = Math.abs(startY - e.gety()); 38 repaint(); 35

36 7.2 이벤트처리 Key 1. Input Input는 Key와 Mouse의부모클래스로서, 모든컴포넌트의입력을위한이벤트의가장상위클래스이다. Input는이벤트가발생된컴포넌트에서기본적으로처리되기전에리스너로먼저전달된다. 따라서, 필요한경우에는리스너 (listener) 부분에서먼저이벤트를처리하고, 이벤트가발생한컴포넌트가디폴트작업하지못하도록할수있다. Input의메소드 void consume() - 이벤트가 발생한 컴포넌트에서 디폴트로 작업하지안도록이벤트를소비한다. int getmodifiers() - 모디파이어플래그값을리턴한다.

37 7.2 이벤트처리 37 long getwhen() - 이벤트가 발생한시간의타임스탬프값을 리턴한다. boolean isaltdown() - ALT 키가눌려졌는지알아본다. boolean isconsumed() - 이벤트가소비되었는지여부를알려준다. boolean iscontroldown() - Control 키가 눌려졌는지 여부를 리턴한다. boolean ismetadown() - Meta 키가눌려졌는지여부를리턴한다. boolean isshiftdown() - Shift 키가눌려졌는지여부를리턴한다.

38 7.2 이벤트처리 Key Key 는 Input 클래스로부터상속받는다. Key 는사용자가키보드의키를누르거나, 띠거나, 문자를입력할 때발생한다. Key 를처리하기위한 KeyListener 의메소드들 void keypressed(key e) - 키보드를누르는순간에호출되는메소드이다. 또한키를계속누르고있는경우에도이메소드가계속호출된다. void keyreleased(key e) - 눌려진키보드를띠는순간에호출되는메소드이다. void keytyped(key e) - 키보드를눌렀다띰으로서문자를입력할때호출되는고차원메소드이다. Key의메소드들 char getkeychar() - 입력된문자를리턴한다. int getkeycode() - 입력된키의정수형키코드값을리턴한다.

39 7.2 이벤트처리 39 예제 : NumberInput.java 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class NumberInput extends Frame implements 5 ActionListener, KeyListener { 6 7 TextField input; 8 Button exit; 9 10 public NumberInput() { 11 super(" 숫자입력 "); 12 input = new TextField(); 13 input.addkeylistener(this); 14 exit = new Button("Exit"); 15 exit.addactionlistener(this);

40 7.2 이벤트처리 public void keypressed(key e) { 25 char c = e.getkeychar(); 26 if(!(('0' <= c && c <= '9') c == '.' 27 c == '' c == '')) { 28 System.out.println("Not number!!"); 29 } 30 } public void keytyped(key e) { } 33 public void keyreleased(key e) { } public void actionperformed(action e) { 36 setvisible(false); 37 dispose(); 38 System.exit(0); 39 }..

41 7.2 이벤트처리 Text Text 는텍스트컴포넌트 ( 텍스트필드, 텍스트영역 ) 에서텍스트 내용이변경되는경우에발생한다. Text 를처리하는 TextListener 인터페이스의메소드 void textvaluechanged(text e) - 텍스트내용이변경되는경우에호출된다. 예제 : TextTest.java 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class TextTest extends Frame implements 5 TextListener, ActionListener { 6 7 TextArea edit; 8 Button exit;

42 7.2 이벤트처리 public TextTest() { 11 super(" 텍스트이벤트 "); 12 edit = new TextArea(); 13 edit.addtextlistener(this); 14 exit = new Button("Exit"); 15 exit.addactionlistener(this); 23 public void actionperformed(action e) { 24 setvisible(false); 25 dispose(); 26 System.exit(0); 27 } public void textvaluechanged(text e) { 30 System.out.println(" 텍스트내용이변경되었습니다."); 31 }

43 7.2 이벤트처리 기타 1. 스크롤바의이벤트 스크롤바에서는 Adjustment가발생할수있다. 이이벤트는 AdjustmentListener 인터페이스를이용해서처리할수있다. AdjustmentListener 인터페이스의메소드 void adjustmentvaluechanged(adjustment e) - 값이변경되는경우에호출된다. Adjustment 클래스의중요한메소드 int getvalue() - 현재값을리턴한다. 2. 컴포넌트이벤트 Component 는컴포넌트가이동하거나, 크기가변경되거나, 혹은 화면에보이거나안보일때발생되는저수준의이벤트이다.

44 7.2 이벤트처리 44 Component 를처리하는 ComponentListener 인터페이스의메소드 void componenthidden(component e) - 컴포넌트가화면에서안보이게될때호출된다. void componentmoved(component e) - 컴포넌트의위치가변경될때호출된다. void componentresized(component e) - 컴포넌트의크기가변경될때호출된다. void componentshown(component e) - 컴포넌트가화면에보이게될때호출된다.

45 7.2 이벤트처리 45 예제 : TestCanvas.java 1 import java.awt.*; 2 3 public class TestCanvas extends Canvas { 4 Image img; 5 int tx, ty, w, h; 6 Dimension preferredsize; 7 String msg; 8 Font font; 9 10 TestCanvas(String msg) { 11 super(); 12 this.msg = msg; font = new Font("Courier", Font.PLAIN, 16); 15 FontMetrics metric = getfontmetrics(font); 16 w = metric.stringwidth(msg); 17 h = metric.getheight(); 18 preferredsize = new Dimension(w+8, h+6); 19 }

46 7.2 이벤트처리 public int getimagewidth() { 22 return preferredsize.width; 23 } public void update(graphics g) { 26 paint(g); 27 } public void paint(graphics g) { 30 if(img == null) { 31 img = createimage(w+8,h+6); 32 Graphics gc = img.getgraphics(); 33 gc.setfont(font); 34 gc.drawstring(msg, 2, h - 4); 35 } 36 g.translate(-tx, -ty); 37 g.drawimage(img, 0, 0, getbackground(), this); 38 } 39 }

47 7.2 이벤트처리 47 예제 : TestBar.java 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class TestBar extends Frame implements 5 ActionListener, AdjustmentListener, ComponentListener { 6 7 Scrollbar bar; 8 TestCanvas canvas; 9 Button exit; public TestBar() { 12 super(" 스크롤바이벤트 "); 13 String msg = "The VisMap system provides for " + 14 "visual manipulation of arbitray off-the-shelf " + 15 "applications, through an application's graphical" + 16 " user interface."; canvas = new TestCanvas(msg); 19 canvas.addcomponentlistener(this);

48 7.2 이벤트처리 bar = new Scrollbar(Scrollbar.HORIZONTAL); 22 bar.addadjustmentlistener(this); 23 bar.setmaximum(canvas.getimagewidth() - 24 canvas.getsize().width); exit = new Button("Exit"); 27 exit.addactionlistener(this);. 37 public void adjustmentvaluechanged(adjustment e) { 38 canvas.tx = bar.getvalue(); 39 canvas.repaint(); 40 } public void actionperformed(action e) { 43 setvisible(false); 44 dispose(); 45 System.exit(0); 46 }

49 7.2 이벤트처리 public void componentresized(component e) { 49 bar.setmaximum(canvas.getimagewidth() - 50 canvas.getsize().width); 51 } public void componentmoved(component e) { } 54 public void componentshown(component e) { } 55 public void componenthidden(component e) { }.

50 7.3 스윙이벤트 50 스윙은기본적으로 AWT의이벤트를그대로사용할수있으며, 별도의컴포넌트를위해서는 javax.swing.event 패키지에새로운이벤트들을정의하고있다. 스윙컴포넌트에서발생할수있는이벤트들 Component Listener action caret change document, undoable edit item list selection window button X X X check box X X X color chooser X combobox X X dialog X editor pane X X file chooser X

51 7.3 스윙이벤트 51 Component Listener action caret change document, undoable edit item list selection window frame X internal frame list X menu menu item X X X option pane password filed X X X popupmenu progress bar X radio button X X X slider X

52 7.3 스윙이벤트 52 Component Listener action caret change document, item list window undoable edit selection tabbed pane X table X text area X X text field X X X text pane X X toggle button X X X tree Viewport(used by X scrollpane)

53 7.3 스윙이벤트 53 스윙컴포넌트이벤트에대한리스너인터페이스들과메소드들 Listener Interface Adapter Class Listener Methods ActionListener none actionperformed(action) AncestorListener CaretListener none none ancestoradded(ancestor) ancestormoved(ancestor) ancestorremoved(ancestor ) caretupdate(caret) CellEditorListener none editingstopped(change) editingcanceled(change) ChangeListener none statechanged(change) ComponentListener ComponentAdapter componenthidden(componentev ent) componentmoved(componenteve nt) componentresized(componentev ContainerListener ContainerAdapter componentadded(container ent) ) componentshown(componenteve componentremoved(containerev nt)

54 7.3 스윙이벤트 54 Listener Interface Adapter Class Listener Methods DocumentListener none changedupdate(document) insertupdate(document) removeupdate(document) FocusListener FocusAdapter focusgained(focus) focuslost(focus) HyperlinkListener none hyperlinkupdate(hyperlink) InternalFrameListen er InternalFrameAdapt er internalframeactivated(internalframe) internalframeclosed(internalframe) internalframeclosing(internalframe) internalframedeactivated(internalframeeven t) internalframedeiconified(internalframe ) internalframeiconified(internalframe) ItemListener none itemstatechanged(item) internalframeopened(internalframe) KeyListener KeyAdapter keypressed(key) keyreleased(key) keytyped(key)

55 7.3 스윙이벤트 55 Listener Interface Adapter Class Listener Methods ListDataListener none contentschanged(listdata) intervaladded(listdata) intervalremoved(listdata) ListSelectionListener none valuechanged(listselection) MenuDragMouseList ener none menudragmousedragged(menudragmouseeve nt) menudragmouseentered(menudragmouseeven t) menudragmouseexited(menudragmouse) menudragmousereleased(menudragmouseev menukeyreleased(menukey) ent) menukeytyped(menukey) MenuKeyListener none menukeypressed(menukey) MenuListener none menucanceled(menu) menudeselected(menu) menuselected(menu)

56 7.3 스윙이벤트 56 Listener Interface Adapter Class Listener Methods MouseInputListener MouseInputAdapt er mouseclicked(mouse) mouseentered(mouse) mouseexited(mouse) mousepressed(mouse) mousereleased(mouse) mousedragged(mouse) mousemoved(mouse) PopupMenuListener popupmenucanceled(popupmenu) popupmenuwillbecomeinvisible(popupmenueve nt) MouseListener MouseAdapter mouseclicked(mouse) popupmenuwillbecomevisible(popupmenueven t) mouseentered(mouse) mouseexited(mouse) mousepressed(mouse) mousereleased(mouse) MouseMotionListene r MouseMotionAda pter mousedragged(mouse) mousemoved(mouse)

57 7.3 스윙이벤트 57 Listener Interface Adapter Class Listener Methods TableColumnModelLi stener none columnadded(tablecolumnmodel) columnmoved(tablecolumnmodel) columnremoved(tablecolumnmodel) columnmarginchanged(change) columnselectionchanged(listselection) TableModelListener none tablechanged(tablemodel) TreeExpansionListen er none treecollapsed(treeexpansion) treeexpanded(treeexpansion) TreeModelListener none treenodeschanged(treemodel) treenodesinserted(treemodel) treenodesremoved(treemodel) treestructurechanged(treemodel) TreeSelectionListene r none valuechanged(treeselection)

58 7.3 스윙이벤트 58 Listener Interface Adapter Class Listener Methods TreeWillExpandListener none treewillcollapse(treeexpansion) treewillexpand(treeexpansion) UndoableEditListener none undoableedithappened(undoableedit) WindowListener WindowAdapter windowactivated(window) windowclosed(window) windowclosing(window) windowdeactivated(window) windowdeiconified(window) windowiconified(window) windowopened(window)

59 7.3 스윙이벤트 59 대부분의스윙컴포넌트들은 AWT와동일하거나혹은유사한방법으로이벤트처리를할수있다. 예를들어 JButton은 AWT의 Button과동일하게 Action를이용해서이벤트처리를한다. 예제 : AddTableRow.java (JButton 에서 Action 를사용하는예제 ) 4 import javax.swing.event.*; 5 import javax.swing.table.*; 6 7 public class AddTableRow extends JFrame implements ActionListener { 8 JButton add; 9 DefaultTableModel model; 10 JTable table; public AddTableRow(){ 13 super(" 테이블테스트 "); 14 String fieldname[] = { 15 "<html> 이름 <br> 학기순 </html>", 16 " 전화번호 ", 17 " " 18 }; 19

60 7.3 스윙이벤트 String data[][] = { 21 " 최종명 ", " ", "jmchoi@ ", 22 " 박준서 ", " ", "jspark@ ", 23 " 홍길동 ", " ", "gdhong@ " 24 }; model = new DefaultTableModel(data, fieldname); 27 table = new JTable(model); 28 JScrollPane sp = new JScrollPane(table); 29 getcontentpane().add(sp, BorderLayout.CENTER); 30 add = new JButton("ADD"); 31 add.addactionlistener(this); 32 getcontentpane().add(add, BorderLayout.SOUTH); 33 setdefaultcloseoperation(exit_on_close);.. 38 public void actionperformed(action e) { 39 String data [] = "", "" ; 40 model.addrow(data); 41 }

61 7.3 스윙이벤트 61 TreeSelection JTree 에서노드를선택하는순간에 TreeSelection 가발생한다. TreeSelectionListener에는 valuechanged() 메소드를가지고있다. 따라서, 이메소드를이용하는경우에선택된노드를파악할수있다. 예제 : TreeSelection.java 1 import java.awt.*; 2 import javax.swing.*; 3 import javax.swing.tree.*; 4 import javax.swing.event.*; 5 6 public class TreeSelection extends JFrame { 7 JTree tree; 8 9 public TreeSelection() 10 super(" 트리선택 "); 11 DefaultMutableTreeNode jcomponent = 12 new DefaultMutableTreeNode("JComponent"); DefaultMutableTreeNode jpanel = 15 new DefaultMutableTreeNode("JPanel");

62 7.3 스윙이벤트 DefaultMutableTreeNode jtextcomponent = 17 new DefaultMutableTreeNode("JTextComponent"); 18 DefaultMutableTreeNode jtree = 19 new DefaultMutableTreeNode("JTree"); jcomponent.add(jpanel); 22 jcomponent.add(jtextcomponent); 23 jcomponent.add(jtree); DefaultMutableTreeNode jtextarea = 26 new DefaultMutableTreeNode("JTextArea"); 27 DefaultMutableTreeNode jtextfield = 28 new DefaultMutableTreeNode("JTextField"); jtextcomponent.add(jtextarea); 31 jtextcomponent.add(jtextfield); tree = new JTree(jcomponent);

63 7.3 스윙이벤트 tree.addtreeselectionlistener(new TreeSelectionListener() { 35 public void valuechanged(treeselection e) { 36 DefaultMutableTreeNode node = (DefaultMutableTreeNode) 37 tree.getlastselectedpathcomponent(); if (node == null) 40 return; Object nodeinfo = node.getuserobject(); 43 System.out.println(nodeInfo.toString()); 44 } 45 }); JScrollPane sp = new JScrollPane(tree); 48 getcontentpane().add(sp, BorderLayout.CENTER);.

64 7.3 스윙이벤트 64 TableModel TableModel 이벤트는테이블의값이변경되는경우에발생한다. TableModelListener 인터페이스는 tablechanged() 라는메소드를가지고있으며, TableModel 에이벤트리스너를등록한다. 예제 : TableDemo.java 1 import java.awt.*; 2 import javax.swing.*; 3 import javax.swing.event.*; 4 import javax.swing.table.*; 5 6 public class TableDemo extends JFrame{ 7 8 public TableDemo() 9 super(" 테이블테스트 "); 10 String fieldname[] = { 11 "<html> 이름 <br> 학기순 </html>", 12 " 전화번호 ", 13 " " 14 }; 15

65 7.3 스윙이벤트 String data[][] = { 17 " 최종명 ", " ", "jmchoi@ ", 18 " 박준서 ", " ", "jspark@ ", 19 " 홍길동 ", " ", "gdhong@ " 20 }; JTable table = new JTable(data, fieldname); 23 TableModel model = table.getmodel(); 24 model.addtablemodellistener(new TableModelListener() { 25 public void tablechanged(tablemodel e) { 26 int col = e.getcolumn(); 27 int row = e.getfirstrow(); 28 System.out.println("<" + row + "," + col +">"); 29 } 30 }); 31 JScrollPane sp = new JScrollPane(table); 32 getcontentpane().add(sp, BorderLayout.CENTER);..

66 7.4 이벤트프로그래밍응용 66 GEditor 이벤트를이용해서그래픽에디터를만드는예제프로그램 버튼, 라벨, 텍스트영역, 텍스트필드모양을그려주고자바코드로변환해주는그래픽에디터 GEditor 에서는각그림들의이동과크기변경이가능

67 7.4 이벤트프로그래밍응용 67 GEditor 에서그림을그리고, 메뉴에서 Code Gen 을선택하면그려진 모양에해당되는자바코드가생성됨. 다음그림은생성된자바코드를컴파일해서실행시킨결과

68 7.4 이벤트프로그래밍응용 68 GEDrawable 인터페이스 그래픽에디터에서그림을핸들링하기위한기본적인메소드들을선언 GEDrawableRectangle 클래스 그래픽에디터에서가장많이사용될수있는그림클래스 Bbutton, Blabel, BtextArea, BtextField 클래스 버튼, 라벨, 텍스트영역, 텍스트필드모양을그려주기위한클래스 GEditorCanvas 클래스 그림을그려주는캔버스영역 GEditor 클래스 각클래스를모아작성한그래픽에디터 GEditor 예제프로그램은간단하지만, 그래픽에디터나인터페이스빌더 등의응용분야에적용될수있을것이다.

69 69 GEDrawable: interface methods GEDrawableRectangle Implement : move, resize Inheritance from GEDrawableRectangle Link two other classes Blabel BtextField Bbutton BtextArea Calls via Handler Bvscroll class Bhscroll class Geditor - Menu Handle GEditorVanvas - Canvas Handle Mouse Handler MouseMotionListner

슬라이드 1

슬라이드 1 이벤트 () 란? - 사용자가입력장치 ( 키보드, 마우스등 ) 등을이용해서발생하는사건 - 이벤트를처리하는프로그램은이벤트가발생할때까지무한루프를돌면서대기상태에있는다. 이벤트가발생하면발생한이벤트의종류에따라특정한작업을수행한다. - 이벤트관련프로그램작성을위해 java.awt.event.* 패키지가필요 - 버튼을누른경우, 1 버튼클릭이벤트발생 2 발생한이벤트인식 ( 이벤트리스너가수행

More information

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

gnu-lee-oop-kor-lec10-1-chap10 어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스 스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다. 사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우 두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다. class

More information

Microsoft PowerPoint - 06-Chapter09-Event.ppt

Microsoft PowerPoint - 06-Chapter09-Event.ppt AWT 이벤트처리하기 1. 이벤트처리방식 2. 이벤트클래스와리스너 3. 이벤트어댑터 4. 이벤트의종류 이벤트 (Event) 이벤트 사용자가 UI 컴포넌트에대해취하는행위로인한사건이벤트기반프로그래밍 무한루프를돌면서사용자의행위로인한이벤트를청취하여응답하는형태로작동하는프로그래밍 java.awt.event 이벤트처리 AWT 컴포넌트에서발생하는다양한이벤트를처리하기위한인터페이스와클래스제공

More information

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

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 18 장이벤트처리 이번장에서학습할내용 이벤트처리의개요 이벤트 액션이벤트 Key, Mouse, MouseMotion 어댑터클래스 버튼을누르면반응하도록만들어봅시다. 이번장의목표 버튼을누르면버튼의텍스트가변경되게한다. 이벤트처리과정 이벤트처리과정 (1) 이벤트를발생하는컴포넌트를생성하여야한다. 이벤트처리과정 (2) 이벤트리스너클래스를작성한다.

More information

9장.key

9장.key JAVA Programming 1 GUI(Graphical User Interface) 2 GUI!,! GUI! GUI, GUI GUI! GUI AWT Swing AWT - java.awt Swing - javax.swing AWT Swing 3 AWT(Abstract Windowing Toolkit)! GUI! java.awt! AWT (Heavy weight

More information

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

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt AWT 컴포넌트 (1) 1. AWT 패키지 2. AWT 프로그램과이벤트 3. Component 클래스 4. 컴포넌트색칠하기 AWT GUI 를만들기위한 API 윈도우프로그래밍을위한클래스와도구를포함 Graphical User Interface 그래픽요소를통해프로그램과대화하는방식 그래픽요소를 GUI 컴포넌트라함 윈도우프로그램만들기 간단한 AWT 프로그램 import

More information

운동시뮬레이션 강의 소개

운동시뮬레이션 강의 소개 Event 발생과처리 Event 생성자 Event 처리자 Event listeners Keyboard, Mouse, Button, Menu, Panel, Motion2DGraph Vector y Vector y Vector x Vector y MotionGUI Window Frame Menu

More information

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 20 장스윙컴포넌트 1 이번장에서학습할내용 텍스트컴포넌트 텍스트필드 텍스트영역 스크롤페인 체크박스 라디오버튼 스윙에서제공하는기초적인컴포넌트들을살펴봅시다. 스윙텍스트컴포넌트들 종류텍스트컴포넌트그림 텍스트필드 JTextField JPasswordField JFormattedTextField 일반텍스트영역 JTextArea 스타일텍스트영역

More information

10장.key

10장.key JAVA Programming 1 2 (Event Driven Programming)! :,,,! ( )! : (batch programming)!! ( : )!!!! 3 (Mouse Event, Action Event) (Mouse Event, Action Event) (Mouse Event, Container Event) (Key Event) (Key Event,

More information

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

More information

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

(Microsoft PowerPoint - LZVNQBAJWGTC.ppt [\310\243\310\257 \270\360\265\345]) GUI 인터페이스의이벤트 학습목표 윈도우환경에서작성된 GUI 인터페이스의이벤트개념을이해한다. 다양한컴포넌트에대한이벤트를처리한다 이벤트란? 자바이벤트란 사용자가키보드, 마우스등의장치로부터 AWT 컴포넌트에발생시키는모든사건을의미 이벤트주도형프로그램은사용자로부터발생된이벤트를처리하여사용자와상호작용을가능하게함 자바이벤트모델 컴퓨터 키보드 운영체제 마우스 이벤트객체자바가상머신이벤트소스객체이벤트리스너객체애플리케이션

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

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

자바GUI실전프로그래밍2_장대원.PDF JAVA GUI - 2 JSTORM http://wwwjstormpekr JAVA GUI - 2 Issued by: < > Document Information Document title: JAVA GUI - 2 Document file name: Revision number: Issued by: Issue Date:

More information

11장.key

11장.key JAVA Programming 1 GUI 2 2 1. GUI! GUI! GUI.! GUI! GUI 2. GUI!,,,!! GUI! GUI 11 : GUI 12 : GUI 3 4, JComponent 11-1 :, JComponent 5 import java.awt.*; import java.awt.event.*; import javax.swing.*; public

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 23 장그래픽프로그래밍 이번장에서학습할내용 자바에서의그래픽 기초사항 기초도형그리기 색상 폰트 Java 2D Java 2D를이용한그리기 Java 2D 를이용한채우기 도형회전과평행이동 자바를이용하여서화면에그림을그려봅시다. 자바그래픽데모 자바그래픽의두가지방법 자바그래픽 AWT Java 2D AWT를사용하면기본적인도형들을쉽게그릴수있다. 어디서나잘실행된다.

More information

No Slide Title

No Slide Title 사건처리와 GUI 프로그래밍 이충기 명지대학교컴퓨터공학과 사건 사건은우리가관심을가질지모르는어떤일이일어나는것을나타내는객체이다. 예를들면, 다음이일어날때프로그램이어떤일을수행해야하는경우에사건이발생한다 : 1. 마우스를클릭한다. 2. 단추를누른다. 3. 키보드의키를누른다. 4. 메뉴항목을선택한다. 2 사건 사건은컴포넌트에서사용자나시스템에의하여발생하는일이다. 자바는사건을나타내는많은사건클래스를제공한다.

More information

Cluster management software

Cluster management software 자바프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교정보통신공학부 최민 이벤트처리 지금까지 GUI 를구성하는 Component 의종류와이 Component 들을 Container 위에적절하게배치하기위한 LayoutManager 를학습하였음 앞에서만들었던 GUI 프로그램은모양만그럴듯할뿐, 실제 Button 을누르거나, Frame 우측상단의 X 표시를클릭해도아무런동작을하지않음이벤트처리가포함되어있지않기때문

More information

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 19 장배치관리자 이번장에서학습할내용 배치관리자의개요 배치관리자의사용 FlowLayout BorderLayout GridLayout BoxLayout CardLayout 절대위치로배치 컨테이너안에서컴포넌트를배치하는방법에대하여살펴봅시다. 배치관리자 (layout manager) 컨테이너안의각컴포넌트의위치와크기를결정하는작업 [3/70] 상당히다르게보인다.

More information

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

Microsoft PowerPoint - EEL2 Lecture10 -Swing and Event Handling.pptx 전자공학실험 2 1 WEEK10: SWING AND EVENT HANDLING Fall, 2014 건국대전자공학부 Notice: 주별강의 / 실습 /HW 내용 2 Week Date 강의주제 Homework 실습과제 Handouts 1 09월 03일 Orientation Lab1 Lecture0 2 09월 10일 추석 3 09월 17일 Using Objects

More information

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

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

강의자료

강의자료 Copyright, 2014 MMLab, Dept. of ECE, UOS Java Swing 2014 년 3 월 최성종서울시립대학교전자전기컴퓨터공학부 chois@uos.ac.kr http://www.mmlab.net 차례 2014년 3월 Java Swing 2 2017-06-02 Seong Jong Choi Java Basic Concepts-3 Graphical

More information

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

JTable과 MVC(Model-View-Controller) 구조 - 모델-뷰-컨트롤러구조는데이터의저장과접근에대한제공은모델이담당하고, 화면표시는뷰, 이벤트의처리는컨트롤러가하도록각역할을구분한구조이다. 즉, 역할의분담을통하여상호간의영향을최소화하고각요소의독립성을보장하여독자 JTable 에서사용하는 Model 객체 JTable - JTable은데이터베이스의검색결과를 GUI에보여주기위해사용되는컴포넌트이다. 가로와세로로구성된테이블을을사용해서행과열에데이터를위치시킨다. - JTable을사용하는방법은다음과같다. 1 테이블에출력될데이터를 2차원배열에저장한다. Object[][] records = { {..., {..., {... ; 2 제목으로사용할문제열을

More information

Chap12

Chap12 12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 그래픽사용자인터페이스 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 프레임생성 (1) import javax.swing.*; public class FrameTest { public static void main(string[] args) { JFrame f = new JFrame("Frame Test"); JFrame

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

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

제8장 자바 GUI 프로그래밍 II 프로그래머를위한 Java 2, 4 판 제8장자바 GUI 프로그래밍 II 8.1 MVC 스윙모델 MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

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

Microsoft PowerPoint - ÀÚ¹Ù08Àå-2.ppt AWT 컴포넌트 (2) 1. 메뉴 2. 컨테이너와컨트롤 3. 배치관리자 메뉴관련클래스계층구조 Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem PopupMenu 메뉴 풀다운메뉴 제목표시줄밑의메뉴바를가짐 메뉴만들기과정 MenuBar 객체생성 MenuBar 에추가할 Menu 객체를생성 Menu 에추가할또다른서브

More information

Microsoft PowerPoint - 14주차 강의자료

Microsoft PowerPoint - 14주차 강의자료 Java 로만드는 Monster 잡기게임예제이해 2014. 12. 2 게임화면및게임방법 기사초기위치 : (0,0) 아이템 10 개랜덤생성 몬스터 10 놈랜덤생성 Frame 하단에기사위치와기사파워출력방향키로기사이동아이템과몬스터는고정종료버튼클릭하면종료 Project 구성 GameMain.java GUI 환경설정, Main Method 게임객체램덤위치에생성 Event

More information

Java Programing Environment

Java Programing Environment Lab Exercise #7 Swing Component 프로그래밍 2007 봄학기 고급프로그래밍 김영국충남대전기정보통신공학부 실습내용 실습과제 7-1 : 정규표현식을이용한사용자정보의유효성검사 (ATM 에서사용자등록용도로사용가능 ) 실습과제 7-2 : 숫자맞추기게임 실습과제 7-3 : 은행관리프로그램 고급프로그래밍 Swing Component 프로그래밍 2

More information

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

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

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 java.awt Package java.awt 패키지는자바애플리케이션프로그래밍인터페이스 (API : Application Programming Interface) 의일부로서그래픽처리를담당하는컴포넌트들을포함합니다. 즉, 화면상에윈도우를그리고, 그위에버튼이나텍스트필드등을붙이는데필요한 GUI

More information

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

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

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

public class FlowLayoutPractice extends JFrame { public FlowLayoutPractice() { super(flowlayout Practice); this. Container contentpane = getcontentp 8 장 1 번 public class MyFrame extends JFrame { public MyFrame(String title) { super(title); this. setsize(400,200); new MyFrame("Let's study Java"); 2번 public class MyBorderLayoutFrame extends JFrame {

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

Microsoft PowerPoint 자바-AWT컴포넌트(Ch8).pptx

Microsoft PowerPoint 자바-AWT컴포넌트(Ch8).pptx 5. 배치관리자 1 AWT 컴포넌트 1. AWT 프로그램과이벤트 2. Component 클래스 3. 메뉴 4. 컨테이너와컨트롤 AWT AWT: Abstract t Window Toolkit GUI 를만들기위한 API 윈도우프로그래밍을위한클래스와도구를포함 Graphical User Interface 그래픽요소를통해프로그램과대화하는방식 그래픽요소를 GUI 컴포넌트라함

More information

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

10 이벤트 처리와 그래픽 프로그래밍.key [ 10 ] ..,..,,,., 2 1. 3 Section 1 p408 (event) (listen) (event listener) 4 Section 1 [ 1: ] [ 2: ] 5 Section 1 (ActionEvent) (MouseEvent) 6 Section 1 EventObject getsource() 7 Section 1 8 Section 1 MouseListener

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 이벤트처리 손시운 ssw5176@kangwon.ac.kr 이벤트 - 구동프로그래밍 이벤트 - 구동프로그래밍 (event-driven programming): 프로그램의실행이이벤트의발생에의하여결정되는방식 2 이벤트처리과정 3 이벤트리스너 발생된이벤트객체에반응하여서이벤트를처리하는객체를이벤트리스너 (event listener) 라고한다. 4 이벤트처리과정

More information

Microsoft PowerPoint - Java-03.pptx

Microsoft PowerPoint - Java-03.pptx JAVA 프로그래밍 Chapter 19. GUI 프로그래밍 1 GUI 환경에서작동하는프로그램 윈도우프로그램에대하여 텍스트모드프로그램과윈도우프로그램 a) 텍스트모드의프로그램 b) 윈도우프로그램 2 GUI 환경에서작동하는프로그램 -2 윈도우프로그램에대하여 텍스트모드프로그램과윈도우프로그램의구조적차이 3 윈도우프로그램의작성방법 윈도우프로그램의구조 네단계로실행되는윈도우프로그램

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

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

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

슬라이드 1

슬라이드 1 13 장. 스윙사용방법 학습목표 레이아웃관리자 스윙구성요소 비트박스프로그램 스윙을알아봅시다 스윙구성요소 구성요소 (Component) 위젯 (widget) 이라고도부름 GUI에집어넣는모든것 텍스트필드, 버튼, 스크롤목록, 라디오버튼등 javax.swing.jcomponent 의하위클래스 대화형구성요소, 배경구성요소로나뉨 JButton JFrame JPanel

More information

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

More information

No Slide Title

No Slide Title 그래픽사용자인터페이스 이충기 명지대학교컴퓨터공학과 그래픽사용자인터페이스 그래픽사용자인터페이스 (GUI) 는사람과컴퓨터간의상호작용을위한사람 - 컴퓨터인터페이스 (HCI) 중의하나이다. GUI 는사용자가컴퓨터화면상에있는객체들과상호작용을하는인터페이스이다. 오늘날사실상거의모든컴퓨터플랫폼에서 GUI 가사용되고있다. 2 GUI 프로그래밍 GUI 프로그램은실행시키면메뉴가있는창이뜨고창에는아이콘,

More information

중간고사

중간고사 기말고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한 후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답 에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4 자리숫자 ) 를기입하면성적공고시학번대신암호를 사용할것임. // ArithmeticOperator

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

슬라이드 1

슬라이드 1 12 장. GUI 학습목표 GUI 이벤트, 이벤트리스너와이벤트소스그림그리기내부클래스 창 Jframe 의모양 (Metal L&F) Jframe 의모양 (Aqua L&F) 창을만드는방법 1. 프레임 (JFrame) 만들기 JFrame frame = new JFrame(); 2. 위젯만들기 JButton button = new JButton( click me );

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Javascript

Javascript 1. 이벤트와이벤트핸들러의이해 이벤트 (Event) 는웹브라우저에서발생하는다양한사건을말합니다. 예를들면, 버튼을마우스로을했다거나브라우저를닫았다거나 Enter 키를눌렀다거나등등아주다양한사건들이있습니다. 그렇다면이벤트핸들러 (Event Handler) 는무엇일까요? 이다양한이벤트들을핸들링 ( 처리 ) 해주는것입니다. 예를들면, 어떤버튼을했을때메시지창이뜨게하는등을말합니다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 JAVA Essential 1 2 학습목표 1. 스윙컴포넌트그리기와 paintcomponent() 활용 2. Graphics 객체에대한이해 3. 도형그리기와칠하기 4. 이미지그리기 5. repaint() 활용하기 6. 마우스와그래픽응용 스윙컴포넌트그리기, paintcomponent() 3 스윙의페인팅기본 모든컴포넌트는자신의모양을스스로그린다. 컨테이너는자신을그린후그위에자식컴포넌트들에게그리기지시

More information

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

DB 에데이터저장을위한입력창설계 - JLabel, JTextField, JButton 을이용한입력창설계 - 2 - Swing 을이용한 DB 작업 Swing Swing은 AWT와함께 Java2에추가된 GUI 처리패키지이다. AWT는해당컴퓨터의 OS가가지고있는컴포넌트를이용하기때문에사용컴퓨터에종속적인 GUI를제공한다. 그러므로, OS의종류에따라화면에출력되는 GUI가다르게된다. 반면에 Swing은 JVM이직접 Swing 패키지를사용해서구현하기때문에 OS가서로달라도동일한화면을제공하는장점을가지고있다.

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

자바로

자바로 ! from Yongwoo s Park ZIP,,,,,,,??!?, 1, 1 1, 1 (Snow Ball), /,, 5,,,, 3, 3, 5, 7,,,,,,! ,, ZIP, ZIP, images/logojpg : images/imageszip :, backgroundjpg, shadowgif, fallgif, ballgif, sf1gif, sf2gif, sf3gif,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Graphical User Interface 배효철 th1g@nate.com 1 목차 자바의 GUI AWT와 Swing 패키지 Swing 클래스의특징 컨테이너와컴포넌트 Swing GUI 만들기 컨테이너와배치 2 자바의 GUI GUI 목적 그래픽이용, 사용자에게이해하기쉬운모양으로정보제공 사용자는마우스나키보드를이용하여쉽게입력 자바 GUI 특징 강력한 GUI 컴포넌트제공

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

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

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID android:title= 항목제목 /> </menu> public boolean oncreateoptionsmenu(menu menu) { getme 8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean

More information

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

Microsoft PowerPoint - java1-lecture10.ppt [호환 모드] 그래픽사용자인터페이스 그래픽사용자인터페이스이벤트객체, 리스너 그래픽사용자인터페이스 (Graphical User Interface, 간단히 GUI) 는컴포넌트들로구성된다. 514760-1 2018 년봄학기 5/15/2018 박경신 자바에서 GUI 의종류 AWT(Abatract Windows Toolkit) 운영체제가제공하는자원을이용하여서컴포넌트를생성한다. SWING

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 그래픽 배효철 th1g@nate.com 1 목차 스윙컴포넌트그리기 자바의그래픽좌표시스템 Graphics 2 스윙컴포넌트그리기 스윙의그리기기본철학 모든컴포넌트는자신의모양을스스로그린다. 컨테이너는자신을그린후자식들에게그리기지시 public void paintcomponent(graphics g) 스윙컴포넌트가자신의모양을그리는메소드 JComponent 의메소드 모든스윙컴포넌트가이메소드를가지고있음

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 자바의이벤트처리 배효철 th1g@nate.com 1 목차 이벤트기반프로그래밍 자바의이벤트기반 GUI 응용프로그램구성 이벤트객체 이벤트리스너 어댑터클래스 Key Event Mouse Event 2 이벤트기반프로그래밍 이벤트기반프로그래밍 (Event Driven Programming) 이벤트의발생에의해프로그램흐름이결정되는방식 이벤트가발생하면이벤트를처리하는루틴 (

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 java.awt Package java.awt 패키지는자바애플리케이션프로그래밍인터페이스 (API : Application Programming Interface) 의일부로서그래픽처리를담당하는컴포넌트들을포함합니다. 즉, 화면상에윈도우를그리고, 그위에버튼이나텍스트필드등을붙이는데필요한 GUI

More information

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - Lect04.pptx OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스

More information

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

예제 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 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

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

모든스윙컴포넌트에는텍스트옆에이미지를추가로표시할수있다. ImageIcon image = new ImageIcon(image.gif); JLabel label = new JLabel( 이미지레이블 ); label.seticon(image); JAVA Programming Spring, 2016 Dongwoo Kang 모든스윙컴포넌트에는텍스트옆에이미지를추가로표시할수있다. ImageIcon image = new ImageIcon("image.gif"); JLabel label = new JLabel(" 이미지레이블 "); label.seticon(image); 이미지버튼을표시하고사용자가버튼을누르면레이블의텍스트를이미지로바꾸어서표시하는프로그램을작성해보자.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 9 장생성자와접근제어 이번장에서학습할내용 생성자 정적변수 정적메소드 접근제어 this 클래스간의관계 객체가생성될때초기화를담당하는생성자에대하여살펴봅니다. 생성자 생성자 (contructor): 객체가생성될때에필드에게초기값을제공하고필요한초기화절차를실행하는메소드 생성자의예 class Car { private String color; // 색상

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 JAVA Essential 1 2 학습목표 1. 자바의이벤트기반 GUI 프로그램구조이해 2. 이벤트와이벤트객체 3. 이벤트리스너작성 4. 어댑터클래스로리스너작성 5. Key 이벤트로키입력받기 6. Mouse 이벤트로마우스동작인식 이벤트기반프로그래밍 3 이벤트기반프로그래밍 (Event Driven Programming) 이벤트의발생에의해프로그램흐름이결정되는방식

More information

10-Java Applet

10-Java Applet JAVA Programming Language JAVA Applet Java Applet >APPLET< >PARAM< HTML JAR 2 JAVA APPLET HTML HTML main( ). public Applet 3 (HelloWorld.html) Applet

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

<4D F736F F F696E74202D205B4A415641C7C1B7CEB1D7B7A1B9D65D3130C0E5C0CCBAA5C6AEC3B3B8AE>

<4D F736F F F696E74202D205B4A415641C7C1B7CEB1D7B7A1B9D65D3130C0E5C0CCBAA5C6AEC3B3B8AE> 명품 JAVA Programming 1 제 10 장자바의이벤트처리 GUI 응용프로그램 => 이벤트기반프로그래밍 2 이벤트기반프로그래밍 (Event Driven Programming) 이벤트의발생에의해프로그램흐름이결정되는방식 이벤트가발생하면이벤트를처리하는루틴 ( 이벤트리스너 ) 실행 프로그램내의어떤코드가언제실행될지아무도모름, 이벤트의발생에의해전적으로결정 반대되는개념

More information

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

Microsoft PowerPoint - [JAVA프로그래밍]9장GUI 명품 JAVA Programming 1 제 9 장자바 GUI 기초, AWT 와스윙 (SWING) 자바의 GUI(Graphical User Interface) 2 GUI 목적 그래픽이용, 사용자에게이해하기쉬운모양으로정보제공 사용자는마우스나키보드를이용하여쉽게입력 자바 GUI 특징 강력한 GUI 컴포넌트제공 쉬운 GUI 프로그래밍 자바의 GUI 프로그래밍방법 GUI

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private

More information

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

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information