목 차 1. swing component 특징 및 관련 packages

Slides:



Advertisements
Similar presentations
6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
Advertisements

제 8 장 그래픽 사용자 인터페이스 어서와 Java 는 처음이지 !. 그래픽 사용자 인터페이스 (Graphical User Interface, 간단히 GUI) 는 컴포넌트들로 구성된다.
자바 5.0 프로그래밍.
아름다운 이들의 행복한 길음안나의 집.
명품 JAVA Programming 제 9 장 자바의 GUI, AWT와 Swing.
Chap12 그래피컬 사용자 인터페이스(GUI)
명품 JAVA Essential.
어서와 Java는 처음이지! 제12장 스윙 컴포넌트.
명품 JAVA Programming 제 11 장 스윙 컴포넌트와 이벤트 핸들링.
학습목표 이번장에서는 프로그램이 실행되는 환경이 다른 애플리케이션과 애플릿의 차이점을 학습하고, GUI 프로그램을 작성하기 위한 컴포넌트객체 생성과 배치 및  플랫폼(platform)에 따른 룩앤필(look and feel)에 대해서도 학습한다. 또한 컴포넌트에 어떤 동작(이벤트)이.
10. 이벤트 처리와 그래픽프로그래밍 자바프로그래밍 강원대학교.
제 12일 그래픽사용자인터페이스 (Graphic User Interface)
그래픽 프로그래밍 (GUI - Graphic User Interface)
9장. 스윙 프로그래밍.
10장. 이벤트 처리와 그래픽 프로그래밍.
* 그룹 상시 연락망 : 각사 조직도 기준 연락망으로 대체함
GUI 이벤트, 이벤트 리스너와 이벤트 소스 그림 그리기 내부 클래스
제7장 이벤트 프로그래밍.
Java 16장. 스윙 public class SumTest {
레이아웃 관리자 스윙 구성요소 비트박스 프로그램
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
명품 JAVA Programming.
Part 5 사용자 인터페이스 Chapter 14 : 그래피컬 사용자 인터페이스 Chapter 15 : 이벤트 처리
Chap14 스윙(SWING) 14.1 스윙 컴포넌트 14.2 컴포넌트의 이벤트 처리
프로그래머를 위한 Java 2 제8장 스윙(Swing)
윤 홍 란 제3장 클래스와 객체의 사용-2 윤 홍 란
Kim heesang JDBC Programming 2 Kim heesang
제 4 장 클래스 작성 Lab 4- 2.
9장 AWT(1).
Lesson 12. 사용자 인터페이스(AWT) - 1
Power Java 제19장 배치 관리자(Layout Manager).
명품 JAVA Programming 제 12 장 그래픽.
Chapter 13 GUI 프로그래밍 01 GUI 화면 구성 02 GUI 이벤트 처리 03 GUI 메뉴와 툴바 예제 모음 요약
어서와 Java는 처음이지! 제8장 그래픽 사용자 인터페이스.
Choi Younghwan CSE HUFS
java.awt 패키지의 단순 컴포넌트와 이벤트 처리
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
Chapter 12. Awt와 Swing Chapter 13. 배치 관리자 Chapter 14. 이벤트 관리자
Swing 컴포넌트 텍스트 컴포넌트 텍스트 필드 텍스트 영역 스크롤 페인 체크 박스 라디오 버튼.
이벤트 프로그래밍 안혜선.
Swing 컴포넌트, 컨테이너 레이아웃 매니저 그리고 이벤트를 기반으로 하는 시스템 독립적인 GUI 프로그래밍을 위한 API.
Java Seminar Chapter 4.
5장 조건과 반복 ③.
9장 AWT(1).
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
Power Java 제14장 배치 관리자.
Visual Basic 기초 1 목표: 컴퓨터기반제어에 관련된 학습을 하기 전에 Visual Basic의 기초를 살펴본다.
제 9주 이벤트 처리 그래픽프로그래밍1 제 9주 강의 목표
그래픽 사용자 인터페이스와 사건처리.
성탄절을 향한 길에서.
JAVA Canvas Swing.
JAVA WINDOW PROGRAMMING
예술치료 실습보고서 미술치료 음악치료 모래상자치료 연극치료 학 교 : 백석대학원 학 과 : 특수심리치료
[ 강남구 청담동 “이동수에프엔지” ].
Mariadb JDBC PROGRAMMING2
제 4 장 클래스 작성 Lab 4- 2.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
9장 개요 다형 참조 상속을 통한 다형성 인터페이스를 통한 다형성 정렬 탐색 이벤트 처리 재조명 파일 선택자 및 색상 선택자
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
제안 제도 운영방안.
우리가 만든 학급 일과 옹달샘 12기 ver 아침시간 수업시간 쉬는시간 점심시간 하교시간
김진승 한국물리학회 교육위원장, 전북대학교 물리학과
고급 스윙 컴포넌트.
Power Java 제14장 배치 관리자.
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
Chap18 스윙(SWING) Section 1 : 스윙 컴포넌트 Section 2 : 컴포넌트의 이벤트 처리
제3장 선교 구역.반장학교 제1단계.
Presentation transcript:

목 차 1. swing component 특징 및 관련 packages 2. Jframe 클래스 만들기 & ImageIcon, Icon 클래스 3. Jcomponent 클래스 & SwingConstants 4.AbstractButton,JButton,JToggleButton,JCheckbox,JRadioButton, ButtonGroup 5. Javax.swing.border 6.JMenuBar, JMenuItem, JCheckboxMenuItem, JMenu, JRadioButtonMenuItem 7. Box, BoxLayout 8. JDialog 9. JColorChooser, JFileChooser 10.JPanel, JScrollPane 11. JComboBox 12. JInternalFrame 13.JLabel, JList 14.JOptionPane 15.JPopupMenu 16.JTabbedPane 17.JTextComponent, JTextArea, JTextField, JPasswordField 18.JToolBar 19.AWTKeyStroke, KeyStroke

1. swing component 특징 및 관련 packages A. Swing component 1.2ver 이후 부터 사용되는 awt 대용 Component Platform에 독립적인 Component 순수 자바 경량 Component Frame과 Container의 구분 스윙의 컴포넌트는 대부분 Jcomponent클래스로 부터 상속을 받는다. http://java.sun.com/docs/books/tutorial/ui/features/components.html B. 관련 Package Javax.swing Javax.swing.border Javax.swing.event Javax.swing.table Javax.swing.tree

2. 스윙컨테이너 스윙 컴포넌트들을 화면에 나타내기 위해서는 컨테이너가 필요하다.대부분 컴포넌트는 add()를 이용하여 컨테이너에 추가할 수 있지만 스윙의 최상위 컨테이너인 JFrame,JDialog,JWindow,JApplet,JInternalFrame의 경우에는 add()메서드로 컴포넌트를 컨테이너에 직접 추가하면 안된다. 이들 컨테이너는 다른 컴포넌트를 포함하는 최상위 컨테이너이므로 다른 컨테이너와는 다른 구조를 갖는다. 컴포넌트의 추가나 배치는 최상위 컨테이너에 직접하지 않고 컨텐트페인이라는 대리 컨테이너를 구해서 작업을 해주어야 한다. 이 컨텐트페인은 실제 컨테이너가 담당해야 할 컴포넌트의 추가 배치를 처리해준다. 페인의 종류는 glassPane이나 layeredPane과 같은 여러 페인 구조가 존재한다.

코드 //컨텐트 페인을 구한다. Container c = getContentPane(); //컴포넌트 만들기 JButton jl = new JButton("Test"); //컨텐트 페인에 컴포넌트 추가하기 c.add(jl);

3. 레이아웃 메니저(배치관리자) 자바에서는 컴포넌트를 컨테이너에 추가해서 표현한다. 컨테이너에 부착할 때 어떤 모양으로 추가할 것인지 복잡한 형태는 어떻게 표시할 것인지 이러한 문제를 생각해야 한다. 복잡한 형태는 중간 컨테이너인 JPanel을 이용하여 해결하고 어떤 모양으로 만들지는 레이아웃 메니저를 이용하여 처리한다. 레이아웃 메니저에는 FlowLayout, BorderLayout, GridLayout, CardLayout,GridBagLayout,BoxLayout등이 있다. 레이아웃을 컨테이너에 적용시킬 때는 setLayout()메서드를 이용하여 적용한다.

최상위 컨테이너(JFrame) 대리 컨테이너(getContentPane()) 배치관리자(setLayout()) 복잡한 내용일 경우 JPanel이용하여 중간 컨테이너 작성 컴포넌트 추가(add())

보더 레이아웃(BorderLayout) 플로우 레이아웃(FlowLayout) 컴포넌트를 차례로 왼쪽에서 오른쪽으로 추가시킨다. 기본적으로 컨테이너가 중앙정렬된다. JPanel은 기본 레이아웃 메니저가 FlowLayout이다. 사용방법 FlowLayout flow = new FlowLayout() 또는 레퍼런스 없이 new FlowLayout 보더 레이아웃(BorderLayout) 컨테이너에 컴포넌트를 부착시킬 위치가 이미 정해져 있는 것으로 East,West,South,North,Center부분에만 부착될 수 있다. JFrame과 JApplet은 기본 레이아웃이 BorderLayout이다. BorderLayout b = new BorderLayout () 또는 레퍼런스 없이 new BorderLayout () 그리드 레이아웃(GridLayout) 행과 열의 형태로 컴포넌트를 배치시킬 수 있다. GridLayOut grid = new GridLayout(2,2) 또는 레퍼런스 없이 new BorderLay(2,2)

4. 컴포넌트 ToggleButton 버튼을 그룹으로 묶어 표현한다. 한 그룹에 속할 수 있도록 논리적으로 그룹화를 해야 합니다. 각각의 버튼을 컨테이너에 add시킨다. ButtonGroup bg = new ButtonGroup() JToggleButton tb = new JToggleButton("1", true); JToggleButton tb1 = new JToggleButton("2", false); bg.add(tb); bg.add(tb1); con.add(tb); con.add(tb1);

JCheckBox와 JRadioButton JCheckBox와 JRadioButton은 선택할 수 있는 항목을 나타내주는 컴포넌트로 JCheckBox는 여러 개를 선택할 수 있고 JRadioButton은 한 개만 선택할 수 있습니다. 단, JRadioButton은 ToggleButton과 마찬가지로 ButtonGroup를 이용하여 논리적으로 그룹화를 하여야 합니다. JComboBox 콤보 박스를 생성하는 컴포넌트로 기본적으로 선택한 아이템만 보여줄 수 있습니다. JList 리스트 박스를 생성하는 컴포넌트로 기본적으로 생성시 화면에 표시하고 싶은 리스트의 수를 지정해서 생성할 수 없다. 단, setVisibleRowCount(10)를 이용해서 표시할 수 있다.

5. 컴포넌트II 메뉴사용하기(JMenuBar,Jmenu,JMenuItem) JMenuBar는 메뉴가 붙어있는 클래스를 의미하고 Jmenu를 붙이기 위해 사용한다. Jmenu는 메뉴들을 표현하기 위해 사용하는 클래스이며 JMenuItem들을 붙이기 위해 사용한다. 실질적으로 사용자가 클릭해서 사용하는 메뉴는 JMenuItem이다. 메뉴생성 단계 1단계 생성할 JMenu를 붙일 JMenuBar를 생성한다. JMenuBar bar = new JMenuBar(); 2단계 setMenuBar()를 사용해서 컨테이너에서 메뉴바를 사용할 수 있도록 붙여준다. setMenuBar(bar); 3단계 비슷한 메뉴들을 관리할 JMenu를 생성한다. JMenu file = new JMenu(“파일”); 4단계 JMenuItem을 이용하여 메뉴 항목을 생성한다. JMenuItem newItem = new JMenuItem(“새파일”);

인터널 프레임(JInternalFrame) GUI프로그램에서는 윈도우 안에 별도의 자식 윈도우를 갖는 MDI를 제공한다. 스윙에서도 JInternalFrame클래스로 이러한 기능을 제공합니다. 단, 일반적인 프레임이 갖는 특징을 인터널 프레임도 갖도록 만들기 위해 반드시 JDesktopPane 클래스를 생성해서 JInternalFrame 을 추가해야한다. 생성 방법 JDesktopPane 클래스의 객체를 생성한다. JDesktopPane desktop = new JDesktopPane(); JInternalFrame 클래스의 객체를 생성한다. JInternalFrame inframe = new JInternalFrame(); JDesktopPane클래스의 객체에 JInternalFrame을 추가시킨다. desktop.add(inframe)

6. 이벤트 이벤트의 개요 버튼을 누르거나 키를 입력하거나 마우스를 클릭하는 것 등이 이벤트이다. 이벤트가 발생하면 발생된 이벤트에 반응하여 어떤 것을 처리하는데 이러한 것을 이벤트 드리븐 프로그래밍이라고 한다. 또한 이벤트가 발생하는 경우에 수행되는 작업에 대한 내용이 포함되어 있는 클래스를 이벤트 리스너 혹은 이벤트 핸들러라고 한다. 버튼을 클릭할때 발생하는 이벤트는 ActionEvent이고 이 이벤트에 대한 이벤트 리스너를 제대로 사용하려면 이벤트를 발생시키는 컴포넌트에 add이벤트리스너()라는 메서드를 이용하여 연결시키는 작업을 해야 한다. 이벤트를 처리하는 이벤트 리스너는 거의 대부분 인터페이스로 이루어져 있으며 이벤트를 처리하기 위해서는 해당 이벤트리스너 인터페이스를 클래스에 구현해야 한다. 이벤트리스너를 구현할 경우 인터페이스 이므로 모든 메서드를 오버라이딩해야 한다.

이벤트종류 ActionEvent ItemEvent ListSelectionEvent 이벤트명 해당 컴포넌트 JButton, JTextField,JCheckBox,JComboBox,JFieChooser,JMenuItem,JRadioButton ItemEvent JButton ,JCheckBox,JComboBox ,JMenuItem,JRadioButton MouseEvent JFrame,JPanel WindowEvent JList,JTable ListSelectedEvent JTextField CangeEvent JSlider ActionEvent 버튼을 클릭하거나 텍스트 필드에서 Enter키를 누를때 메뉴를 선택할때 발생한다. ItemEvent 체크박스나 라디오 버튼의 아이템을 선택하거나 해제할 때 또는 콤보 박스에서 아이템을 선택할 때 발생 ListSelectionEvent JList의 아이템을 선택할 때 발생된다.