제1장 자바 언어 소개

Size: px
Start display at page:

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

Transcription

1 프로그래머를위한 Java 2 프로그래밍

2 4.1 각컴포넌트알아보기 2 (Abstract Window Toolkit) 자바에서 GUI 를작성 네이티브 (native) 윈도우바탕 윈도우즈 95/98 에서는윈도우즈 95/98 의윈도우를사용 유닉스에서는 X 윈도우를사용 실행되는환경에따라모양이약간씩다를수있음 전체적인형태는동일 자바 는 java.awt 패키지에클래스들이포함 시스템자원을사용하기때문에많이사용되는경우에스윙에비해부하가많이걸림 확장성이부족함 제한된 GUI 컴포넌트만지원됨

3 4.1 각컴포넌트알아보기 3 의컴포넌트 컴포넌트클래스들의상속관계 메뉴컴포넌트상속관계

4 4.1 와 Swing 컴포넌트비교 4 와스윙

5 4.1 각컴포넌트알아보기 5 Component 클래스 의가장상위클래스 모든 에공통되는특성과메소드를정의함 자주사용되는메소드들 void add(popupmenu) - 컴포넌트에팝업메뉴를붙인다. Container getparent() - 컴포넌트를포함하는컨터이너를리턴 Dimension getsize() - 컴포넌트의크기를리턴 boolean isenabled() - 컴포넌트가현재활성화되어있나알아본다. void setbackground(color) - 컴포넌트의배경색을설정 void setenabled(boolean) - 컴포넌트를활성화 / 비활성화시킨다. void setfont(font) - 컴포넌트의폰트를설정 void setforeground(color) - 컴포넌트의전경색을설정 void setlocation(int, int) - 컴포넌트의위치를설정 void setsize(int, int) - 컴포넌트의크기를설정 void setvisible(boolean) - 컴포넌트를화면에보이도록 / 안보이도록한다

6 4.1 각컴포넌트알아보기 프레임 (Frame) 생성자 Frame() Frame(String title) 프레임을생성한후, 프레임의크기를결정해야 프레임의크기는 setsize(int width, int height) 라는메소드를이용 단위 : 픽셀 윈도우를화면에보여주기위해서는 setvisible(true) 함수를호출하여야 cf) setvisible(false) settitle(string) - 프레임의타이틀지정 setcursor(int) - 커서타입지정

7 4.1 각컴포넌트알아보기 7 예제 : FrameDemo.java 1 import java.awt.*; 2 3 public class FrameDemo { 4 public static void main(string[] args) { 5 Frame f = new Frame("FrameDemo"); 6 f.setsize(300, 200); 7 f.setvisible(true); 8 } 9 } 결과

8 4.1 각컴포넌트알아보기 라벨 (Label) 문자열을표현하기위한 컴포넌트 생성자 Label() Label(String text) Label(String text, int alignment) alignment :- Label.LEFT, Label.RIGHT, Label. CENTER 메소드들 int getalignment() - 현재정렬방식을리턴한다. String gettext() - 라벨문자열을리턴한다. void setalignment(int alignment) - 라벨문자열의정렬방식을설정한다. void settext(string text) - 라벨문자열을설정한다

9 4.1 각컴포넌트알아보기 버튼 (Button) 마우스로클릭할수있는 컴포넌트 생성자 Button() Button(String title) 아규먼트는버튼의타이틀로사용 메소드들 String getlabel() - 버튼의문자열을리턴한다. void setlabel(string label) - 버튼의문자열을설정한다. void addactionlistener(actionlistener l) - 버튼에서 ActionEvent 이벤트를받을수있는 ActionListener 를등록한다. String getactioncommand() - 버튼이 이벤트를 받은 경우에 사용되는 Command 이름을리턴한다. void setactioncommand(string command) - Command 이름을 설정한다.

10 4.1 각컴포넌트알아보기 10 예제 : ButtonLabel.java 3 public class ButtonLabel extends Frame { 7 public ButtonLabel() { 8 super(" 버튼과라벨테스트 "); 9 setlayout(new FlowLayout()); ok = new Button("OK"); 12 label = new Label(" 저는라벨입니다."); add(ok); 15 add(label); 16

11 4.1 각컴포넌트알아보기 체크박스 (Checkbox) 체크박스와라디오버튼모두 Checkbox 클래스를이용해서생성 체크박스는각각의컴포넌트가체크된상태와체크되지않은상태를가짐. 반면, 여러개의라디오버튼은그룹으로묶여지고이중에서하나만이선택. CheckBoxGroup 클래스를이용하여라디오버튼에사용되는그룹을작성 체크박스와라디오버튼의아이템이선택또는해제될때 ItemEvent 가발생 생성자 Checkbox() - 라벨이없는체크박스 Checkbox(String) - String을라벨로갖는체크박스 Checkbox(String, boolean) - String을라벨로갖고, boolean을이용해체크박스초기상태의 On/Off를결정 Checkbox(String, CheckboxGroup, boolean) - 체크박스를이용해라디오버튼을만들때사용 Checkbox(String label, boolean state, CheckboxGroup group) - 라벨이있고, 상태가설정되어있는라디오버튼을생성한다.

12 4.1 각컴포넌트알아보기 12 Checkbox 클래스의메소드들 boolean getstate() - 체크박스의 on/off 상태를리턴한다. void setstate(boolean state) - 체크박스의 on/off 상태를설정한다. void additemlistener(itemlistener l) - 체크박스에서 ItemEvent 이벤트를받을수있는 ItemListener 를등록한다. String getlabel() - 체크박스의문자열을리턴한다. void setlabel(string label) - 체크박스의문자열을설정한다. CheckboxGroup 클래스의생성자와메소드 CheckboxGroup() - CheckboxGroup 객체를생성한다. Checkbox getselectedcheckbox() - CheckboxGroup 에서현재 선택된라디오버튼을리턴한다.

13 4.1 각컴포넌트알아보기 13 예제 : Check.java 11 check1 = new Checkbox("One"); 12 check2 = new Checkbox("Two"); cbg = new CheckboxGroup(); 15 male = new Checkbox(" 남자 ", cbg, true); 16 female = new Checkbox(" 여자 ", cbg, false); add(check1); 19 add(check2); 20 add(male); 21 add(female);

14 4.1 각컴포넌트알아보기 선택버튼 (Choice Button) Choice 는선택가능한여러개의아이템을가지는 컴포넌트 리스트와비슷하지만 Choice 는하나의아이템만화면에출력되는 모양에차이가있다. Choice 의선택된아이템이변경되면 ItemEvent 이벤트가발생 생성자 Choice() - Choice 객체를생성한다.

15 4.1 각컴포넌트알아보기 15 Choice 클래스의메소드 void add(string item) - 문자열아이템을추가 String getitem(int index) - 인덱스에해당하는아이템문자열을리턴 int getitemcount() - 아이템의개수를리턴 int getselectedindex() - 현재선택된아이템의인덱스를리턴 String getselecteditem() - 현재선택된아이템의문자열을리턴 void remove(int position) - 인덱스에해당하는아이템을제거 void remove(string item) - 특정문자열과같은아이템을제거 void removeall() - 모든아이템을제거 void select(int pos) - 인덱스에해당하는아이템을선택 void select(string str) - 특정문자열과같은아이템을선택 void additemlistener(itemlistener l) - 아이템이벤트를받을수있는 ItemListener를등록

16 4.1 각컴포넌트알아보기 16 예제 : ChoiceDemo.java 9 Choice choice = new Choice(); 10 choice.add("one"); 11 choice.add("two"); 12 choice.add("three"); 13 choice.add("four"); 14 choice.add("five"); 15 choice.add("six");

17 4.1 각컴포넌트알아보기 리스트 (List) 항목들중에서하나혹은여러개를선택할수있는것 생성자 List() - 리스트를생성 List(int rows) - rows 수만큼아이템이보이도록 List(int rows, boolean multiplemode) - boolean 아규먼트는리스트에서다중선택허용여부를결정 true이면다중선택이가능 ; false이면단일선택만 메소드들 void add(string item) - 아이템을추가한다. void addactionlistener(actionlistener l) ActionEvent 이벤트를받을수있는 ActionListener를등록한다. void removeall() - 모든아이템을제거

18 4.1 각컴포넌트알아보기 18 void additemlistener(itemlistener l) - ItemEvent 이벤트를받을수있는 ItemListener 를등록한다. void deselect(int index) - 인덱스에해당하는아이템의선택을해제 String getitem(int index) - 인덱스에해당하는아이템문자열을리턴한다. int getitemcount() - 아이템수를리턴 String[] getitems() - 아이템문자열들을리턴 int getrows() - 출력가능한아이템수를리턴 int getselectedindex() - 선택된아이템인덱스를리턴 int[] getselectedindexes() - 선택된아이템들의인덱스를리턴 String getselecteditem() - 선택된아이템문자열을리턴 String[] getselecteditems() - 선택된아이템들의문자열을리턴 void remove(int position) - 인덱스에해당하는아이템을제거 void remove(string item) - 특정문자열과같은아이템을제거

19 4.1 각컴포넌트알아보기 19 예제 : ListDemo.java 1 import java.awt.*; 2 3 public class ListDemo { 4 5 public static void main(string[] args) { 6 Frame f = new Frame("ListDemo"); 7 8 f.setlayout(new FlowLayout()); 9 List list = new List(5, false); 10 list.add("one"); 11 list.add("two"); 12 list.add("three"); 16 f.add(list); 17 f.setsize(300, 200); 18 f.setvisible(true); 19 } 20 }

20 4.1 각컴포넌트알아보기 택스트영역 (TextArea) 여러줄에걸쳐문서를작성할수있는컴포넌트 생성자 TextArea() - 택스트영역을만든다 TextArea(String text) - String을초기내용으로갖는텍스트영역을만든다 TextArea(int rows, int columns) -rows 행과 columns 열크기의텍스트영역을만든다 TextArea(String text, int rows, int columns) -String을초기내용으로갖고, rows 행과 columns 열크기의텍스트영역을만든다

21 4.1 각컴포넌트알아보기 21 TextArea 클래스의메소드 void append(string str) - 기존의 문자열의 마지막 부분에 추가한다. void insert(string str, int pos) - 지정된 위치에 문자열을 삽입한다. void replacerange(string str, int start, int end) - 시작위치와끝 위치를지정하고, 새로운문자열로바꾼다. String getselectedtext() - 선택된문자열을리턴한다. String gettext() - 전체문자열을리턴한다. void select(int selectionstart, int selectionend) - 시작위치와끝 위치를지정하여문자열을선택한다. void seteditable(boolean b) 편집가능 / 불가능을설정한다. void settext(string t) - 기존의 문자열은 지워지고, 새로운 문자열을출력한다.

22 4.1 각컴포넌트알아보기 텍스트필드 (TextField) 텍스트필드는한줄만쓸수있는텍스트영역 생성자 TextField() TextField(int columns) TextField(String text) TextField(String text, int columns) 각생성자는한줄만사용할수있다는것을제외하고는텍스트영역과동일 setechochar(char) 메소드 화면에아규먼트로설정된문자만출력되도록 주로패스워드를입력하는부분에이용

23 4.1 각컴포넌트알아보기 23 TextField 클래스의메소드 void addactionlistener(actionlistener l) - ActionEvent 이벤트를받을수있는 ActionListener를등록 void setechochar(char c) - TextField에보여지는문자를설정. 문자를설정하면문자열이입력될때마다설정된문자만나타난다. String getselectedtext() - TextField 에있는문자열중에서선택된문자열을리턴 String gettext() - TextField에있는문자열전부를리턴 void select(int selectionstart, int selectionend) - 시작과끝의위치를지정해서문자열을선택 void seteditable(boolean b) - 편집기능을가능 (true)/ 불가능 (false) 하게설정 void settext(string t) - TextField에있는데이터를문자열 t로변경

24 4.1 각컴포넌트알아보기 24 예제 : TextDemo.java 1 import java.awt.*; 2 3 public class TextDemo { 4 5 public static void main(string[] args) { 6 Frame f = new Frame("TextDemo"); 7 8 f.setlayout(new FlowLayout()); 9 TextArea text = new TextArea("Hello", 5, 30); 10 f.add(text); TextField field = new TextField("Hello", 30); 13 f.add(field);..

25 4.1 각컴포넌트알아보기 스크롤바 (Scrollbar) 가로혹은세로형태의스크롤바컴포넌트 생성자 Scrollbar(Scrollbar.VERTICAL) Scrollbar(Scrollbar.HORIZONTAL) 생성자의아규먼트는스크롤바의방향성을결정 Scrollbar.VERTICAL - 세로방향의스크롤바를생성 Scrollbar.HORIZONTAL - 가로방향의스크롤바를생성

26 4.1 각컴포넌트알아보기 캔버스 (Canvas) 주로그림을그리는경우에많이사용되는컴포넌트 직접사용되지않고상속받아서사용한다. 생성자 Canvas()

27 4.1 각컴포넌트알아보기 27 예제 : CanvasDemo.java 1 import java.awt.*; 2 3 public class CanvasDemo extends Frame { 4 Canvas canvas; 5 6 public CanvasDemo() { 7 super("canvasdemo"); 8 canvas = new Canvas(); 9 canvas.setsize(200,100); 10 canvas.setbackground(color.yellow);..

28 4.1 각컴포넌트알아보기 패널 (Panel) 다른컴포넌트를포함할수있는컨테이너 다른컨테이너에원하는형태로컴포넌트를붙이기위해서이용 보통패널은화면에보이지않는다. 생성자 Panel() Panel(LayoutManager layout)

29 4.1 각컴포넌트알아보기 29 예제 : PanelDemo.java 1 import java.awt.*; 2 3 public class PanelDemo extends Frame { 4 Panel panel; 5 6 public PanelDemo() { 7 super("paneldemo"); 8 setlayout(null); 9 panel = new Panel(); 10 panel.setsize(80, 50); 11 panel.setbackground(color.blue); 12 panel.setlocation(50, 50); 13 add(panel); 14 setsize(300, 200); 15 setvisible(true);.

30 4.1 각컴포넌트알아보기 스크롤팬 (ScrollPane) 스크롤을기본적으로가지고있는자바컴포넌트 생성자 ScrollPane() ScrollPane(int scrollbardisplaypolicy) 스크롤팬은하나의컴포넌트만자식으로가질수있음 -- 주의!! 여러개의컴포넌트를스크롤팬에포함시키기위해서는 패널을스크롤팬의자식으로하고 패널에여러컴포넌트를붙임

31 4.1 각컴포넌트알아보기 31 예제 : ScrollPaneDemo.java 9 sp = new ScrollPane(); 10 sp.setsize(150, 100); 12 panel = new Panel(); 13 panel.setsize(500, 450); 14 panel.setlayout(new BorderLayout()); 15 panel.add("center", new TextArea()); 16 Panel bottom = new Panel(); 17 bottom.add(new Button("OK")); 18 bottom.add(new Button("CANCEL")); 19 panel.add("south", bottom); 21 sp.add(panel);

32 4.1 각컴포넌트알아보기 팝업메뉴 (Popup Menu) 평소에는안보이다가마우스를누르면나타나는메뉴 생성자 PopupMenu() PopupMenu(String label) 문자열은메뉴의이름을나타내는데사용 메소드들 add() 함수 - 팝업메뉴의메뉴들을추가 show() 함수 - 메뉴를보여주기위해서 hide() 함수 - 메뉴를감추기위해서이용

33 4.1 각컴포넌트알아보기 33 예제 : PopupDemo.java 15 popup = new PopupMenu("POP-UP"); 16 popup.add(new MenuItem("copy")); 17 popup.add(new MenuItem("paste")); 18 Menu col = new Menu("color"); 19 col.add(new MenuItem("white")); 20 col.add(new MenuItem("blue")); 21 popup.add(col); 22 canvas.add(popup);. 27 } public void mousepressed(mouseevent e) { 30 popup.show(canvas, e.getx(), e.gety()); 31 }.

34 4.2 컴포넌트붙이기 34 화면에 구성요소들의크기와위치는 2 가지요소에의해서결정 1. 요소들이컨테이너에추가되는순서 2. 사용되는레이아웃매니저 각컨테이너는하나의레이아웃매니저를가질수있고, 프로그래머가 setlayout() 메소드를이용하여원하는레이아웃매니저로설정레이아웃매니저는화면에서각 요소들의위치를결정 자바에서는기본적인 5 가지레이아웃을제공 "FlowLayout "GridLayout "BorderLayout "CardLayout "GridBagLayout"

35 4.2 컴포넌트붙이기 35 레이아웃매니저 컴포넌트의크기와위치를결정 자주사용되는레이아웃매니저 플로우레이아웃 가로방향으로컴포넌트를붙임 보더레이아웃 5 방향에하나씩컴포넌트를붙임 카드레이아웃 컴포넌트마다하나씩컴포넌트를붙임 그리드레이아웃 격자모양의위치에컴포넌트를붙임 그리드백레이아웃 위치와크기를제약조건을통해지정함

36 4.2 컴포넌트붙이기 FlowLayout 플로우레이아웃 (FlowLayout) 컨테이너에컴포넌트들을가로방향으로늘어놓을때사용 만약구성요소들이한줄에들어가지않으면다음줄로이동 각줄안에서정렬위치를결정할수있는 alignment 값을가짐 alignment 의기본값은 "CENTER" 이고, 이것은구성요소를중앙에정렬 패널과애플릿은기본적으로플로우레이아웃을이용 생성자 setlayout(new FlowLayout()) - 플로우레이아웃을사용, 각컴포넌트간의간격은가로 / 세로 5 픽셀컴포넌트의정렬위치는컨테이너의가운데 setlayout(new FlowLayout(FlowLayout.LEFT)) - 플로우레이아웃을사용, 각컴포넌트간의간격은가로 / 세로 5 픽셀정렬위치 -FlowLayout.LEFT, FlowLayout. CENTER, FlowLayout.RIGHT setlayout(new FlowLayout(FlowLayout.RIGHT, 5, 10)) - 플로우레이아웃을사용, 각컴포넌트간의간격은가로 5, 세로 10 픽셀

37 4.2 컴포넌트붙이기 FlowLayout 37 예제 : FlowTestOne.java 1 import java.awt.*; 2 3 public class FlowTestOne extends Frame { 4 public FlowTestOne() { 5 super("flowtestone"); 6 setlayout(new FlowLayout()); 7 add(new Button("1")); 8 add(new Button("2")); 13 add(new Button("7")).setVisible(false); 14 add(new Button("8")); 18 setsize(300, 200); 19 setvisible(true); 20 }

38 4.2 컴포넌트붙이기 BorderLayout 보더레이아웃 (BorderLayout) 컨테이너에서컴포넌트들의위치를 " 동 / 서 / 남 / 북 / 중앙 " 중에서하나를지정. 모든가장자리의요소들은필요한크기만큼자리를차지하고, 중앙에있는요소는남은여백을사용 생성자 setlayout(new BorderLayout()) - 보더레이아웃을사용하고, 각컴포넌트간의간격은 0 setlayout(new BorderLayout(5, 10)) - 보더레이아웃을사용하고, 각컴포넌트간의가로간격은 5, 세로간격은 10 픽셀 add("north", new TextField("Name", 30)) - 텍스트필드컴포넌트를북쪽 (North) 에붙인다. 보더레이아웃을이용해서컴포넌트를붙이는경우에 North/South/West/East/Center 의위치를정확히기술해주어야

39 4.2 컴포넌트붙이기 BorderLayout 39 예제 : BorderTestOne.java 1 import java.awt.*; 2 3 public class BorderTestOne extends Frame { 4 public BorderTestOne() { 5 super("bordertestone"); 6 setlayout(new BorderLayout(5, 5)); 7 add("north", new Button("North")); 8 add("center", new Button("Center")); 9 add("south", new Button("South")); 10 add("west", new Button("West")); 11 add("east", new Button("East")); 12 setsize(300,200); 13 setvisible(true); 14 }

40 4.2 컴포넌트붙이기 GridLayout 그리드레이아웃 (GridLayout) 컴포넌트들을행렬식으로행과열의수에맞게배치할때사용 컴포넌트들의위치는맨윗줄부터시작해서왼쪽에서오른쪽으로움직이며각줄을이동 add() 메소드를호출하는순서에따라컴포넌트의위치가변경 그리드레이아웃을생성하기위해서는행과열을지정해야 각행과열의크기가동일하기때문에그리드레이아웃에서는각컴포넌트는동일한크기를갖는다 생성자 setlayout(new GridLayout(3,4)) -3 행 4 열의그리드레이아웃을이용해컴포넌트를붙인다. setlayout(new GridLayout(2,0)) -0 이들어있는경우는행과열의수가결정되지않았음을의미이경우에는 2 행과임의의열을갖는그리드레이아웃이다. setlayout(new GridLayout(3,4,10,15)) -3 행 4 열그리드레이아웃에각컴포넌트의가로간격이 10 픽셀, 세로간격이 15 픽셀

41 4.2 컴포넌트붙이기 GridLayout 41 예제 : GridTestOne.java 1 import java.awt.*; 2 3 public class GridTestOne extends Frame { 4 public GridTestOne() { 5 super("gridtestone"); 6 setlayout(new GridLayout(3,2)); 7 add(new Button("1")); 8 add(new Button("2")); 12 add(new Button("6")); 13 setsize(300, 200); 14 setvisible(true);

42 4.2 컴포넌트붙이기 CardLayout 카드레이아웃 (CardLaytout) 카드레이아웃은카드형식으로된레이아웃 여러장의카드를만들어놓고필요한경우에원하는형태의카드를화면에보여주는방식 작성절차 1. 다음과같은생성자를이용해서만든다 CardLayout card = new CardLayout(); 2. 컨테이너에 setlayout() 메소드를이용해서카드레이아웃매니저를등록 setlayout(card); 3. 카드레이아웃을등록한다음에여러장의카드를위해서패널을만든다 Panel p1 = new Panel(); Panel p2 = new Panel(); 4. 만들어진여러장의패널을컨테이너에 add() 메소드를이용해서붙인다 add("first", p1) - "First" 는카드의이름부분이다. 따라서 p1 패널은 "First" 라는이름으로등록 5. 원하는카드를보여주기위해서는 show() 메소드를이용 card.show(this, "First") - show(container parent, String name) 형태 parent 는카드레이아웃이포함되어있는컨테이너를, name 은보여줄카드의이름을의미

43 4.2 컴포넌트붙이기 CardLayout 43 예제 : SimpleCard.java. 13 setlayout(card = new CardLayout()); 14 p1 = new Panel(); 15 p2 = new Panel(); 16 p3 = new Panel(); 48 add("first", p1); 49 add("second", p2); 50 add("third", p3); 51 add("fourth", p4); 52 add("fifth", p5); card.show(this, "First"); 55 setsize(300, 200); 56 setvisible(true); 57 } 58 }

44 4.2 컴포넌트붙이기 CardLayout 44 예제 : SimpleCard2.java 13 body = new Panel(); 14 body.setlayout(card = new CardLayout()); 15 MouseHandler handler = new MouseHandler(); 20 ps = new Panel[data.length]; for(int i=0; i < ps.length; i++) { 23 ps[i] = new Panel(); 24 ps[i].setbackground(colors[i]); 25 ps[i].add(new Label(data[i] + " Panel")); 26 ps[i].addmouselistener(handler); 27 body.add(string.valueof(i), ps[i]); 28 } 29 card.show(body, "0"); 45 public void itemstatechanged(itemevent e) { 46 Object o = e.getsource(); 47 if(o == choice) { 48 int index = choice.getselectedindex(); 49 card.show(body, String.valueOf(index)); 50 selected = index; 51 } 52 } public class MouseHandler extends MouseAdapter { 55 public void mouseclicked(mouseevent e) { 56 card.next(body); 57 selected = (selected + 1) % ps.length; 58 choice.select(selected);

45 4.2 컴포넌트붙이기 GridBagLayout 그리드백레이아웃 (GridBagLayout) 컴포넌트의위치와크기를자유롭게만들수있는레이아웃매니저 사용하기복잡 작성절차 1. 생성자를이용해서그리드백레이아웃을만든다. GridBagLayout gridbag = new GridBagLayout(); 2. 그리드백콘스트레인트를만든다. GridBagConstraints constraint = new GridBagConstraints(); 3. 컨테이너의레이아웃매니저를그리드백레이아웃으로설정 setlayout(gridbag); 4. 그리드백콘센트레인트에변수값을할당 constraint.weightx = 1.0; 5. 컴포넌트와컴포넌트의그리드백콘스트레인트를설정 gridbag.setconstraints(b1, constraint); 6. 그리드백레이아웃에컴포넌트를붙인다. add(b1);

46 4.2 컴포넌트붙이기 GridBagLayout 46 그리드백컨스트레이트변수 gridx, gridy 컴포넌트의좌측상단모서리의시작위치를지정 화면의좌측상단모서리의좌표값은 gridx=0, gridy=0 GridBagConstraints.RELATIVE 컴포넌트의좌측상단시작위치를이전컴포넌트가끝나는곳다음부터 ( 이전컴포넌트의오른쪽 / 아래쪽 ) 사용하고자할때 gridwidth, gridheight 컴포넌트가화면에출력되는행과열의셀 (cell) 수를지정 기본값은 1 로설정되어있다. gridwidth = GridBagConstraints.REMAINDER 이면행의마지막에위치, gridheight = GridBagConstraints.REMAINDER 이면열의마지막에위치 GridBagConstraints.RELATIVE 로설정되면행과열의마지막컴포넌트옆에위치

47 4.2 컴포넌트붙이기 GridBagLayout 47 fill 컴포넌트의크기가컨테이너보다커야할때사용 GridBagConstraints.NONE으로설정되면컨테이너의크기는불변 GridBagConstraints.HORIZONTAL으로설정되면가로축이확장 GridBagConstraints.VERTICAL으로설정되면세로축이확장 GridBagConstraints.BOTH인경우에는가로 / 세로방향으로모두확장 ipadx, ipady 내부의여백을결정 insets 컴포넌트의바깥쪽여백을결정

48 4.2 컴포넌트붙이기 GridBagLayout 48 Anchor 컴포넌트의크기가컨테이너보다작은경우에컴포넌트위치를결정 사용가능한값들 GridBagConstraints.CENTER ( 가운데, 기본값 ) GridBagConstraints.NORTH ( 북쪽 ) GridBagConstraints.NORTHEAST ( 북동쪽 ) GridBagConstraints.EAST ( 동쪽 ) GridBagConstraints.SOUTHEAST ( 남동쪽 ) GridBagConstraints.SOUTH ( 남쪽 ) GridBagConstraints.SOUTHWEST ( 남서쪽 ) GridBagConstraints.WEST ( 서쪽 ) GridBagConstraints.NORTHWEST ( 북서쪽 ) weightx, weighty 컴포넌트의크기가변경될때변경되는크기를제어 만약 weightx, weighty 의값이 0 인경우에는크기가변경되지않는다. 값이 0 이아닌경우에는값에비례해서크기가변경

49 4.2 컴포넌트붙이기 GridBagLayout 예제 : SimpleGridBag.java 7 GridBagLayout gridbag = new GridBagLayout(); 8 GridBagConstraints constraint = new GridBagConstraints(); 9 setlayout(gridbag); constraint.fill = GridBagConstraints.BOTH; 12 constraint.weightx = 1.0; 13 Button b1 = new Button("Button1"); 14 gridbag.setconstraints(b1, constraint); 15 add(b1); Button b2 = new Button("Button2"); 18 gridbag.setconstraints(b2, constraint); 19 add(b2); constraint.gridwidth = GridBagConstraints.REMAINDER; 22 Button b3 = new Button("Button3"); 23 gridbag.setconstraints(b3, constraint); 24 add(b3); 49

50 4.2 컴포넌트붙이기 No-Layout 레이아웃매니저사용안하기 setlayout(null) 각컴포넌트의크기와위치를프로그래머가지정해주어야 플랫폼환경이변하거나프레임의크기가변경되는경우에 컴포넌트의크기나위치가프로그래머가원하는것과다르게나올 수있다 예제 : NoLayout.java 12 setlayout(null); 13 setsize(500, 400); 14 display = new TextArea(5, 15); 15 display.setsize(220, 200); 16 display.setlocation(210, 50); 17 add(display);

51 4.2 컴포넌트붙이기 PositionLayout 51 사용자가정의하는레이아웃매니저 LayoutManager 인터페이스구현 addlayoutcomponent layoutcontainer minimumlayoutsize preferredlayoutsize removelayoutcomponent PositionLayout 컴포넌트의크기와위치를백분율로표기 컴퍼넌트의상대위치로지정가능

52 4.2 컴포넌트붙이기 PositionLayout 52 예제 : PositionLayoutTest.java / PositionLayout.java 3 public class PositionLayoutTest extends Frame { 4 5 public PositionLayoutTest() { 6 super("positionlayout 테스트-1"); 7 setlayout(new PositionLayout()); 8 9 add("20%, 0%, 80%, 40%", new JButton("A")); 10 add("5%, 10%, 15%, 80%", new JButton("B")); 11 add("20%, 45%, 35%, 80%", new JButton("C")); 12 add("40%, 60%, 90%, 100%", new JButton("D")); 13 add("85%, 10%, 95%, 50%", new JButton("E"));

53 4.2 컴포넌트붙이기 기타관련사항 1. 컴포넌트크기 o o o getpreferredsize() 로가장적절한크기를결정 getpreferredsize() 메소드를오버라이딩하여적절한크기를변경할수있음. getinsets() 메소드를오버라이딩하여프레임내부와컴포넌트의간격을조절. Insets 생성자. Insets(int top, int left, int bottom, int right) - Insets 간격을위에서부터반시계방향으로설정한다.

54 4.2 컴포넌트붙이기 54 예제 : ComponentSize.java.. 11 ok = new Button("OK") { 12 public Dimension getpreferredsize() 13 return new Dimension(80, 50); 14 } 15 }; 17 msg = new Label(" 메시지 ", Label.CENTER) { 18 public Dimension getpreferredsize() { 19 return new Dimension(80, 50); 20 } 21 }; 31 public Insets getinsets() { 32 return new Insets(33, 10, 10, 10);

55 4.2 컴포넌트붙이기 프레임에아이콘설정하기 o 아이콘을프레임의 seticonimage() 메소드를이용해서설정할수있다. 예제 : IconTest.java 1 import java.awt.*; 2 3 public class IconTest extends Frame { 4 Image logo; 5 6 public IconTest() { 7 super(" 학교로고 "); 8 Toolkit tk = Toolkit.getDefaultToolkit(); 9 logo = tk.getimage("horse-1.gif"); 10 seticonimage(logo);

56 4.3 메뉴만들기 56 메뉴는프레임에만붙일수있다 프레임에는하나의메뉴바가있고, 프레임에메뉴바를붙일때는 setmenubar() 메소드를이용 메뉴바에는여러개의메뉴가있을수있고, 메뉴를마우스로클릭하는경우에메뉴아이템들이보여진다 메뉴바, 메뉴, 메뉴아이템들의관계

57 4.3 메뉴만들기 57 예제 : MenuBarDemo.java 8 mb = new MenuBar(); 9 setmenubar(mb); 10 Menu file = new Menu("File"); 11 MenuItem filenew = new MenuItem("New"); 14 file.add(filenew); 16 file.addseparator(); 17 file.add(fileexit); 18 Menu edit = new Menu("Edit"); 19 Menu sort = new Menu("Sort"); 20 CheckboxMenuItem byname = new CheckboxMenuItem("by Name"); 21 CheckboxMenuItem bysize = new CheckboxMenuItem("by Size"); 22 sort.add(byname); 23 sort.add(bysize); 24 edit.add(sort);

58 4.4 다이얼로그 다이얼로그 (Dialog) 다이얼로그는프레임과유사한형태의윈도우 다이얼로그는주로오류 / 경고 / 확인메시지를보여주기위해서사용 생성자 Dialog(Frame) - 다이얼로그는프레임을아규먼트로만들수있다. Dialog(Frame, boolean) - 부울린부분에는모달 (modal) 을가질것인가여부를결정. true 이면모달을갖는다. 모달이있는경우에는다이얼로그의입력이있을때까지프레임은사용할수없다. Dialog(Frame, String) - String 아규먼트는다이얼로그의타이틀로사용 Dialog(Frame, String, boolean) - String 아규먼트는 타이틀로사용되고, boolean 부분은모달사용여부를결정 다이얼로그의

59 4.4 다이얼로그 59 예제 : DialogTest.java 1 import java.awt.*; 2 3 class DialogTest extends Frame { 4 Dialog d; 5 6 public DialogTest(String title) { 7 super(title); 8 d = new Dialog(this, "Dialog", false); 9 d.add("center", new Label("This is a Dialog.")); 10 d.add("south", new Button(" OK ")); 11 d.pack(); 12 d.setvisible(true); 17 public static void main(string args[]) { 18 new DialogTest("DialogTest"); 19 } 20 }

60 4.4 다이얼로그 파일다이얼로그 (FileDialog) 파일다이얼로그는파일을읽거나저장하기위해서원하는파일을선택 생성자 FileDialog(Frame) - 다이얼로그와마찬가지로프레임을아규먼트로만들수있다. FileDialog(Frame, String) -String은파일다이얼로그의타이틀로사용 FileDialog(Frame, String, int) -String은파일다이얼로그의타이틀을, int 부분은모드 (mode) 를표시모드는 FileDialog.LOAD, FileDialog.SAVE 두가지값을가질수있다. FileDialog.LOAD :- 읽을수있는파일들이파일다이얼로그에나타나고, FileDialog.SAVE :- 기록할수있는파일들이나타난다

61 4.4 다이얼로그 61 예제 : FileDialogTest.java 1 import java.awt.*; 2 3 class FileDialogTest extends Frame { 4 FileDialog fd; 5 6 public FileDialogTest(String title) { 7 super(title); 8 fd = new FileDialog(this, "FileDialog"); 9 setsize(300, 200); 10 setvisible(true); 11 fd.setvisible(true); 12 } public static void main(string args[]) { 15 new FileDialogTest("DialogTest"); 16 } 17 }

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 자바-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

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

Cluster management software

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

More information

슬라이드 1

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

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

제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

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

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

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

More information

Cluster management software

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

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

07_ch13_pdf.hwp

07_ch13_pdf.hwp 이문서는 Java의정석 2판의 13 장입니다. 현재(2016년 3 월) 는 3 판이최신판입니다. 3판에는 AWT 가없기때문에필요하신분들을위해공개합니다. 상업적인용도가아니라면얼마든지재배포가가능합니다. - 저자남궁성 - http://cafe.naver.com/javachobostudy.cafe Chapter AWT 와애플릿 AWT & Applet 684 Java의정석定石

More information

PowerPoint Template

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

More information

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

오버라이딩 (Overriding)

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

More information

No Slide Title

No Slide Title 그래픽사용자인터페이스 이충기 명지대학교컴퓨터공학과 그래픽사용자인터페이스 그래픽사용자인터페이스 (GUI) 는사람과컴퓨터간의상호작용을위한사람 - 컴퓨터인터페이스 (HCI) 중의하나이다. GUI 는사용자가컴퓨터화면상에있는객체들과상호작용을하는인터페이스이다. 오늘날사실상거의모든컴퓨터플랫폼에서 GUI 가사용되고있다. 2 GUI 프로그래밍 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 - 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

강의자료

강의자료 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

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

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

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

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

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

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

Cluster management software

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

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

슬라이드 1

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

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

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

No Slide Title

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

More information

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

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

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

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

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

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

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

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

제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

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

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

운동시뮬레이션 강의 소개

운동시뮬레이션 강의 소개 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

[ 그림 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

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

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

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

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

PowerPoint Presentation

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

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

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

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

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 그래픽사용자인터페이스 손시운 ssw5176@kangwon.ac.kr 그래픽사용자인터페이스 그래픽사용자인터페이스 (Graphical User Interface, 간단히 GUI) 는컴포넌 트들로구성된다. 2 자바에서 GUI 의종류 GUI AWT(Abstract Windows Toolkit) AWT 는운영체제가제공하는자원을이용하여서컴포넌트를생성

More information

2_안드로이드UI

2_안드로이드UI 03 Layouts 레이아웃 (Layout) u ViewGroup의파생클래스로서, 포함된 View를정렬하는기능 u 종류 LinearLayout 컨테이너에포함된뷰들을수평또는수직으로일렬배치하는레이아웃 RelativeLayout 뷰를서로간의위치관계나컨테이너와의위치관계를지정하여배치하는레이아웃 TableLayout 표형식으로차일드를배치하는레이아웃 FrameLayout

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

어댑터뷰

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

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 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

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

PowerPoint Presentation

PowerPoint Presentation Computer Programming Java AWT Lab 18 엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University Copyrights 2015 DCSLab. All Rights Reserved Overview AWT 일반 AWT 다루기기본 AWT

More information

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View

More information

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

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

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

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

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

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

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

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

쉽게 풀어쓴 C 프로그래밍

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

More information

Microsoft PowerPoint - 2강

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

More information

미쓰리 파워포인트

미쓰리 파워포인트 computer & internet 07. FRAME TAG FRAME? 프레임이란? : 웹페이지를수직이나수평으로여러개영역으로나누어다른웹문서가들어갈수있도록구성할수있음. 이때나누어진각각의창을프레임이라고함. 2 FRAME 문서의구조 HTML 문서에서 태그기능을 프레임문서구조에서는 이대신함 일반웹페이지구조 ..

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

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

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

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

파일로입출력하기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

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

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

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

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

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

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2 DB 와 WEB 연동 (1) [2-Tier] Java Applet 이용 웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2 JAVA Applet 을이용한 Client Server 연동기법 } Applet

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

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

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

More information

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

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#1) 2013.09.27. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

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

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

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

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 [ 그림 9-1] 시간예약앱 활동과정 - 2 - [ 그림 9-2] 안드로이드 SDK Manager [ 예제 9-1]main.xml 1

More information