Chapter 12. Awt와 Swing Chapter 13. 배치 관리자 Chapter 14. 이벤트 관리자

Slides:



Advertisements
Similar presentations
비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
Advertisements

제 8 장 그래픽 사용자 인터페이스 어서와 Java 는 처음이지 !. 그래픽 사용자 인터페이스 (Graphical User Interface, 간단히 GUI) 는 컴포넌트들로 구성된다.
자바 5.0 프로그래밍.
제3장 도면 보는 법 학습의 목표 자주 보전 활동에 있어서, 설비에 관한 도면을 볼 기회가 많이 있을 것입니다. 또, 직장의 주변의 개선이나 어떠한 장치 기구의 아이디어를 제작하고 싶을 때에도, 도면이라고 하는 수단이 필요하게 됩니다.   생산기술이나 보전 부문의 사람과.
명품 JAVA Programming 제 9 장 자바의 GUI, AWT와 Swing.
Chap12 그래피컬 사용자 인터페이스(GUI)
명품 JAVA Essential.
어서와 Java는 처음이지! 제12장 스윙 컴포넌트.
명품 JAVA Programming 제 11 장 스윙 컴포넌트와 이벤트 핸들링.
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
제 12일 그래픽사용자인터페이스 (Graphic User Interface)
그래픽 프로그래밍 (GUI - Graphic User Interface)
9장. 스윙 프로그래밍.
10장. 이벤트 처리와 그래픽 프로그래밍.
GUI 이벤트, 이벤트 리스너와 이벤트 소스 그림 그리기 내부 클래스
제7장 이벤트 프로그래밍.
Chapter 10. AWT 이벤트.
캡스톤 디자인2 최종발표 유경현 김기윤 Team : 너 지금 어디야.
7장 배열 ③.
레이아웃 관리자 스윙 구성요소 비트박스 프로그램
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
GUI 환경에서 작동하는 프로그램에 대하여 윈도우 프로그램의 작성 방법 그래픽과 이미지 디스플레이 방법 오디오 파일 재생 방법
명품 JAVA Programming.
Part 5 사용자 인터페이스 Chapter 14 : 그래피컬 사용자 인터페이스 Chapter 15 : 이벤트 처리
Chap14 스윙(SWING) 14.1 스윙 컴포넌트 14.2 컴포넌트의 이벤트 처리
Kim heesang JDBC Programming 2 Kim heesang
제 4 장 클래스 작성 Lab 4- 2.
9장 AWT(1).
Lesson 12. 사용자 인터페이스(AWT) - 1
Power Java 제19장 배치 관리자(Layout Manager).
Chapter 13 GUI 프로그래밍 01 GUI 화면 구성 02 GUI 이벤트 처리 03 GUI 메뉴와 툴바 예제 모음 요약
어서와 Java는 처음이지! 제8장 그래픽 사용자 인터페이스.
Choi Younghwan CSE HUFS
java.awt 패키지의 단순 컴포넌트와 이벤트 처리
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
Java로 배우는 디자인패턴 입문 Chapter 22. Command 명령을 클래스로 만든다
Swing 컴포넌트 텍스트 컴포넌트 텍스트 필드 텍스트 영역 스크롤 페인 체크 박스 라디오 버튼.
이벤트 프로그래밍 안혜선.
목 차 1. swing component 특징 및 관련 packages
Swing 컴포넌트, 컨테이너 레이아웃 매니저 그리고 이벤트를 기반으로 하는 시스템 독립적인 GUI 프로그래밍을 위한 API.
Java Seminar Chapter 4.
10장 예외 Lab 10-2.
5장 조건과 반복 ③.
9장 AWT(1).
GUI 프로그래밍과 AWT 컴퓨터 공학실험(I) 인공지능 연구실.
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
MFC UI for TS Analyzer 서울시립대학교 컴퓨터통계학과 최 용 진.
JAVA WINDOW PROGRAMMING
제 9주 이벤트 처리 그래픽프로그래밍1 제 9주 강의 목표
그래픽 사용자 인터페이스와 사건처리.
JAVA Canvas Swing.
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
국제의료관광 관련 법, 제도.
JAVA WINDOW PROGRAMMING
예술치료 실습보고서 미술치료 음악치료 모래상자치료 연극치료 학 교 : 백석대학원 학 과 : 특수심리치료
컴퓨터 그래픽 I 영화 홍보 사이트 분석 과목 : 컴퓨터 그래픽 I 담당교수 : 손애경 교수님 학과 : 정보처리과 1반(A1)
Mariadb JDBC PROGRAMMING2
남아메리카 선교 김수정, 이하정 전희진, 장성경.
제 4 장 클래스 작성 Lab 4- 2.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
GUI 프로그래밍과 AWT 컴퓨터 공학실험(I) 인공지능 연구실.
CHAPTER 9-1 한국의 사회복지정책 - 사회보험제도 -
문서 작성에 사용되는 기본태그 HR, PRE, B, I, U, S.
Power Java 제16장 이벤트 처리.
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Chap18 스윙(SWING) Section 1 : 스윙 컴포넌트 Section 2 : 컴포넌트의 이벤트 처리
경찰학 세미나 제 5 강 경찰관직무집행법 2조 5호의 의미 신라대학교 법경찰학부 김순석.
Presentation transcript:

Chapter 12. Awt와 Swing Chapter 13. 배치 관리자 Chapter 14. 이벤트 관리자 Chapter 15. 스윙 컴포넌트 Chapter 16. 고급 스윙 컴포넌트

1. Swing을 시작하기에 앞서

 Swing에 대한 여러가지 이야기 √ UI와 기능의 구현을 구분하는 형태로 소프트웨어의 개발 방법은 발전해 나갈 것이다. √ AWT와 Swing은 UI와 기능의 구현을 구분한 모델은 아니다. 하지만, 이에 대한 학습을 통해서 UI 구현 에 대한 전반적인 이해를 갖출 수 있다. √ Swing을 사용하지 않더라도 Swing의 학습은 다른 프레임워크의 이해에 많은 도움이 된다. √ AWT와 Swing을 각각 별도로 공부할 필요는 없다. 둘 중 하나를 선택에서 UI 구현에 대한 경험을 갖는 것에 의미를 두자!

2. Swing 컴포넌트와 이벤트 핸들링

 Swing 프로그래밍에 대한 이해 골격이 되는 창은 JFrame의 인스턴스 JFrame이 상속하는 클래스중 하나는 java.awt.Container 클래스! 이 클래스를 상속하는 컴포넌트는 다른 Swing 컴포넌트를 얹을 수 있다. Container 클래스는 배치와 관련된 클래스이다. 따라서 setLayout 메소드 역시 Container 클래스의 메소드이다. FlowLayout 인스턴스가 장착되어 컴포넌트의 배치를 관리하게 된다. 단순히 add 메소드의 호출을 통해서 컴포넌트를 얹으면 FlowLayout 인스턴스가 적절 히 배치한다. setVisible 메소드 호출을 통해서 그간 작성한 JFrame을 눈에 보이게 한다.

Swing과 AWT의 비교 Swing 코드 AWT 코드 JFrame을 대신해서 Frame 사용! JButton을 대신해서 Button 사용! FlowLayout은 양쪽에 모두 사용! 단, Swing 컴포넌트는 운영체제에 상관없이 보이는 모습이 동일하지만 AWT 컴포넌트는 운영체제에 따라서 보이는 모습에 차 이가 있다.

exit 메소드 GUI 창의 우측 상단의 x 버튼을 눌러도 프로그 램은 종료되지 않는다. x 버튼이 눌렸을 때 프 로그램이 종료되기를 원한다면 그에 따른 이벤 트 핸들링이 필요하다!

 exit 메소드의 전달 값 exec 메소드를 통해서 다른 자바 프로그램의 실행을 명령할 수 있다. 그리고 이러한 상황에서 실행을 명 령한 자바 프로그램이 종료 시 전달한 값, 예를 들어서 exit 함수 호출 시 전달한 값을 얻을 수 있다.

 이벤트 리스너에 대한 간단한 소개1

 이벤트 리스너에 대한 간단한 소개2 동일 위치에서 버튼이 눌렸다 놓일 때 호출되는 메소드 MouseEvent 인스턴스를 통해서 얻을 수 있는 정보들 버튼이 눌린 이후 mouseClicked 메소드 호출을 통해서 발생한 상태의 변화

3. 레이아웃 매니저

FlowLayout 배치 관리자 배치의 기준 getPreferredSize 메소드는 JButton 클래스가 상속하는 상 위 클래스에 정의된 메소드로써, GUI창에 그려질 컴포넌트 의 적절한 크기정보를 반환한다. 그리고 FlowLayout 배치 관리자는 이 메소드를 호출해서 반환되는 값을 참조하여 컴 포넌트를 배치한다. Dimension 클래스의 두 인스턴스 변수는 width와 height 이며, 직접 접근이 가능하다.

BorderLayout 배치 관리자 배치의 기준 SOUTH, WEST 채우지 않았을 때의 실행결과 중앙을 제외한 나머지 영역이 비게 되면, 그만큼 다른 영역의 컴포넌트에 의해 빈 영역이 채워짐!

GridLayout 배치 관리자 세로 3, 가로 2로 분할 올리는 대로 왼쪽에서 오른쪽으로, 위에서 아래로 올리는 대로 왼쪽에서 오른쪽으로, 위에서 아래로 위의 생성자를 통해서 세로와 가로의 분할정보 뿐만 아니라, 세로와 가로의 컴포넌트간 간격도 지정할 수 있다. hgap과 vgap에 2를 전달했을때의 실행결과

 하나의 JFrame에 둘 이상의 배치 관리자 적용! JPanel 컴포넌트 √ Jpanel은 눈에 보이는 성격의 컴포넌트가 아니다. √ JFrame처럼 다른 컴포넌트를 얹을 수 있고, 또 배치 관리자의 지정도 가능하다! 적용의 예 JFrame에 배치 관리자 지정해서 두 개의 JPanel을 올린다. 각각의 Jpanel에 각각의 배치 관리자를 별도로 지정한다.

4. 이벤트와 이벤트 리스너

 이벤트의 종류와 그에 따른 이벤트 리스너 ActionEvent가 발생하는 상황은 컴포넌트에 따라 결정된다. JButton의 경우 JButton이 눌렸을때 ActionEvent가 발생한다. ActionEvent가 발생하는 상황은 컴포넌트에 따라 결정된다. JButton의 경우 JButton이 눌렸을때 ActionEvent가 발생한다. setEnable(false)에 의해서 컴포넌트가 비활성화되면, 눌리지 않기 때문에 ActionEvent가 발생하지 않는다. 그러나 MouseEvent는 발생한다.

ActionEvent 버튼의 눌림에 대해서는 ActionEvent를 기반으 로 이벤트를 처리하는 것이 타당하다.

WindowEvent 1 GUI 창이 등장하면서 호출 GUI 창의 활성화! 비활성화!

WindowEvent 2 우측 상단의 최소화 버튼이 눌릴 때 다시 복원 되었을 때 우 상단의 X 버튼이 눌리면 호출 창이 소멸되면서 호출 X 버튼이 눌리면 호출 windowClosed 함수의 호출로 이어짐 X 버튼이 눌려서 창이 보이지 않 는다고 해서 창이 소멸된 것은 아니다!

 프로그램을 종료시키는 또 다른 방법 setDefaultCloseOperation의 인자로 WindowConstant.DISPOSE_ON_CLOSE가 전달되면 X 버튼 눌릴 때 dispose 메소드 호출과 동일한 결과를 보인다.

MouseListener & MouseMotionListener MouseEvent Listener √ MouseListener √ MouseMotionListener 마우스 관련 이벤트 마우스 움직임 관련 이벤트 마우스 버튼이 눌린 상태에서의 움직임

Adapter 클래스 Adapter 클래스 기반의 구현

 Anonymous(익명) 클래스의 활용 Adapter 클래스의 메소드를 하나만 정의하고자 하는 경우에는 Anonymous 클래스의 형태로 정의하는 것도 의미가 있다.

5. 다양한 Swing 컴포넌트

JLabel & JTextField JTextField와 JPasswordField의 텍스트상에서 엔터 키가 입력되면 ActionEvent가 발생 JLabel은 문자열 출력을 위한 컴포넌트 JTextField는 문자열 출력을 위한 컴포넌트 JPasswordField는 문자열을 가리며 출력

JTextArea JTextArea는 여러 줄의 문자열 입력을 위한 컴포넌트 세로 10, 가로 20의 JTextArea 생성 자동 줄 바꿈 단어 단위 줄 바꿈 커서 다음 행으로 이동

JScrollPane 스크롤 바가 필요한 시점에 생성됨 VERTICAL_SCROLLBAR_ALWAYS은 계속해서 스크롤 바를 표시함을 의미 HORIZONTAL_SCROLLBAR_NEVER는 스크롤 바를 표시하지 말라는 의미

JCheckBox & JRadioButton

JRadioButton 이벤트 핸들링

Border

JComboBox1 ItemEvent는 선택 받은 컴포넌트를 대상으로도 선택을 잃은 컴포넌트를 대상으로도 발생한다.

JComboBox2 setMaximumRowCount 호출결과 setMaximumRowCount 호출하지 않은 결과

JComboBox3 Yoon에서 Kang을 선택 두 번의 ItemEvent 발생! Yoon을 Jung으로 변경 ActionEvent 발생 입력 후 엔터! 두 번의 ActionEvent 발생

Look And Feel Swing에서는 Look And Feel의 변경을 통해서 모든 컴포넌트의 View를 일괄 변경할 수 있다.