Java Seminar Chapter 2 GUI Programing CUI GUI

  • Slides: 35
Download presentation
Java Seminar Chapter 2

Java Seminar Chapter 2

GUI Programing CUI GUI

GUI Programing CUI GUI

GUI Programing Java로 가능한 GUI 프로그래밍 목 록 • • AWT Swing SWT :

GUI Programing Java로 가능한 GUI 프로그래밍 목 록 • • AWT Swing SWT : https: //www. eclipse. org/swt/ Swing. X : https: //mvnrepository. com/artifact/org. swi nglabs/swingx • wx 4 j : http: //wx 4 j. sourceforge. net/

GUI Programing Swing이란?

GUI Programing Swing이란?

Swing Programing Frame Content Pane Content. Pane은 JPanel로 만든다. 우리는이 Content. Pane을 꾸미면 된다.

Swing Programing Frame Content Pane Content. Pane은 JPanel로 만든다. 우리는이 Content. Pane을 꾸미면 된다.

Swing Programing import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText.

Swing Programing import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText. Field; public class Hello. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임 "); JPanel pn = new JPanel(); JText. Field tf = new JText. Field(); pn. add(tf); fr. set. Content. Pane(pn); tf. set. Text("This is 텍스트"); fr. set. Size(300, 200); fr. set. Visible(true); } }

Swing Programing Java문법 – package와 import package는 class를 담는 그릇 package를 만들지 않았다면 default

Swing Programing Java문법 – package와 import package는 class를 담는 그릇 package를 만들지 않았다면 default package에 담긴다.

Swing Programing Java문법 – package 만들기

Swing Programing Java문법 – package 만들기

Swing Programing Java문법 – package 만들기

Swing Programing Java문법 – package 만들기

Swing Programing Java문법 – package 만들기

Swing Programing Java문법 – package 만들기

Swing Programing Java문법 – package간 java파일 이동 package com. juharu. main; import javax. swing.

Swing Programing Java문법 – package간 java파일 이동 package com. juharu. main; import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText. Field; public class Hello. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JText. Field tf = new JText. Field(); pn. add(tf); fr. set. Content. Pane(pn); tf. set. Text("This is 텍스트"); fr. set. Size(300, 200); fr. set. Visible(true); } } 어느 패키지 소속인지 알려준다.

Swing Programing Java문법 – package와 import package com. jiharu. test; public class Person {

Swing Programing Java문법 – package와 import package com. jiharu. test; public class Person { String name; String gender; public Person(String name, String gender) { this. name = name; this. gender = gender; } public String print() { return "Person [name=" + name + ", gender=" + gender + "]"; } }

Swing Programing Java문법 – package와 import package com. juharu. main; import javax. swing. JFrame;

Swing Programing Java문법 – package와 import package com. juharu. main; import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText. Field; import com. jiharu. test. Person; public class Hello. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JText. Field tf = new JText. Field(); Person p = new Person("김태정", "남자"); pn. add(tf); fr. set. Content. Pane(pn); tf. set. Text(p. print()); fr. set. Size(300, 200); fr. set. Visible(true); } } Person이 어디 소속인지 알 려준다.

Swing Programing Java문법 – package와 import package com. juharu. main; import javax. swing. JFrame;

Swing Programing Java문법 – package와 import package com. juharu. main; import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText. Field; import com. jiharu. test. *; public class Hello. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JText. Field tf = new JText. Field(); Person p = new Person("김태정", "남자"); pn. add(tf); fr. set. Content. Pane(pn); tf. set. Text(p. print()); fr. set. Size(300, 200); fr. set. Visible(true); } } com. jiharu. test내의 모든 클래스를 사용가능하게 함. c

Swing Programing Java문법 – package와 import package com. juharu. main; import javax. swing. JFrame;

Swing Programing Java문법 – package와 import package com. juharu. main; import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText. Field; public class Hello. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JText. Field tf = new JText. Field(); com. jiharu. test. Person p = new com. jiharu. test. Person("김태정", "남자"); pn. add(tf); fr. set. Content. Pane(pn); tf. set. Text(p. print()); fr. set. Size(300, 200); fr. set. Visible(true); } }

Swing Programing Java문법 – 접근제한자 package com. jiharu. test; public class Avengers { Person[]

Swing Programing Java문법 – 접근제한자 package com. jiharu. test; public class Avengers { Person[] p; public Avengers() { p = new Person[4]; p[0] = new Person("이현영", p[1] = new Person("강창훈", p[2] = new Person("임진하", p[3] = new Person("김두수", } public void print. Avenger() { for (int i = 0; i < 4; i++) { p[i]. print(); } } } "여자"); "남자");

Swing Programing Java문법 – 접근제한자 package com. jiharu. test; public class Person { private

Swing Programing Java문법 – 접근제한자 package com. jiharu. test; public class Person { private String name; private String gender; private Person(String name, String gender) { this. name = name; this. gender = gender; } private String print() { return "Person [name=" + name + ", gender=" + gender + "]"; } }

Swing Programing Java문법 – 접근제한자 package com. jiharu. test; public class Person { private

Swing Programing Java문법 – 접근제한자 package com. jiharu. test; public class Person { private String name; private String gender; public Person(String name, String gender) { this. name = name; this. gender = gender; } String print() { return "Person [name=" + name + ", gender=" + gender + "]"; } }

Swing Component Label Component Frame Content Pane List Component

Swing Component Label Component Frame Content Pane List Component

Swing Component import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText.

Swing Component import javax. swing. JFrame; import javax. swing. JPanel; import javax. swing. JText. Field; public class Hello. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임 "); JPanel pn = new JPanel(); JText. Field tf = new JText. Field(); pn. add(tf); fr. set. Content. Pane(pn); tf. set. Text("This is 텍스트"); fr. set. Size(300, 200); fr. set. Visible(true); } } JText. Field역시 Component이다.

Swing Component package com. jiharu. main; import javax. swing. JButton; javax. swing. JFrame; javax.

Swing Component package com. jiharu. main; import javax. swing. JButton; javax. swing. JFrame; javax. swing. JPanel; javax. swing. JText. Field; public class Main { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JText. Field tf = new JText. Field(); JButton btn = new JButton(); pn. add(tf); pn. add(btn); fr. set. Content. Pane(pn); tf. set. Text("텍스트"); btn. set. Text("버튼"); fr. set. Size(300, 200); fr. set. Visible(true); } }

Swing Layout 해당 component들을 contentpane에 어 떻게 부착했을까?

Swing Layout 해당 component들을 contentpane에 어 떻게 부착했을까?

Swing Layout은 Component를 Container(Paner)에 배치하는 방법

Swing Layout은 Component를 Container(Paner)에 배치하는 방법

Swing Layout – Flow Layout import java. awt. Flow. Layout; import javax. swing. JButton;

Swing Layout – Flow Layout import java. awt. Flow. Layout; import javax. swing. JButton; import javax. swing. JFrame; import javax. swing. JPanel; public class Test. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JButton[] bt = new JButton[10]; Flow. Layout fl = new Flow. Layout(); fl. set. Alignment(Flow. Layout. CENTER); pn. set. Layout(fl); for (int i = 0; i < bt. length; i++) { bt[i] = new JButton("Button" + i); pn. add(bt[i]); } fr. set. Content. Pane(pn); fr. set. Size(400, 300); fr. set. Visible(true); } }

Swing Programing Java문법 – 배열 초기화 기본 타입의 경우 int num[10] = new int[10];

Swing Programing Java문법 – 배열 초기화 기본 타입의 경우 int num[10] = new int[10]; for(int i=0; i<10; i++){ num[i] = I; } 참조(객체, 클래스) 타입의 경우 Object obj[10] = new Object[10]; for(int i=0; i<10; i++){ Object = new Object(i); -> 각각의 생성자를 호출한다. }

Swing Layout – Border Layout import java. awt. Border. Layout; import javax. swing. JButton;

Swing Layout – Border Layout import java. awt. Border. Layout; import javax. swing. JButton; import javax. swing. JFrame; import javax. swing. JPanel; public class Test. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JButton[] bt = new JButton[5]; Border. Layout fl = new Border. Layout(); pn. set. Layout(fl); for (int i = 0; i < bt. length; i++) { bt[i] = new JButton("Button" + i); pn. add(bt[i]); } pn. add(bt[0], Border. Layout. NORTH); pn. add(bt[1], Border. Layout. EAST); pn. add(bt[2], Border. Layout. CENTER); pn. add(bt[3], Border. Layout. WEST); pn. add(bt[4], Border. Layout. SOUTH); fr. set. Content. Pane(pn); fr. set. Size(400, 300); fr. set. Visible(true); } }

Swing Layout 내용이 매우 길어져서 블로그 참조: http: //kamang-it. tistory. com/118

Swing Layout 내용이 매우 길어져서 블로그 참조: http: //kamang-it. tistory. com/118

Swing Layout – Grid Layout import java. awt. Grid. Layout; import javax. swing. JButton;

Swing Layout – Grid Layout import java. awt. Grid. Layout; import javax. swing. JButton; import javax. swing. JFrame; import javax. swing. JPanel; public class Test. Swing { public static void main(String[] args) { JFrame fr = new JFrame("This 프레임"); JPanel pn = new JPanel(); JButton[] bt = new JButton[4]; Grid. Layout gl = new Grid. Layout(2, 2); pn. set. Layout(gl); for (int i = 0; i < bt. length; i++) { bt[i] = new JButton("Button" + i); pn. add(bt[i]); } pn. add(bt[0]); pn. add(bt[1]); pn. add(bt[2]); pn. add(bt[3]); fr. set. Content. Pane(pn); fr. set. Size(400, 300); fr. set. Visible(true); } }

Finish

Finish