일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 8bit
- 상속
- driver
- select
- 예외처리
- Serializable
- 오라클
- Reader
- 다이얼로그
- 자바
- transient
- 난수
- set
- DB
- DB연동
- Transaction
- Join
- where
- statement
- JDBC
- InputStream
- Connection
- 16bit
- Annotaion
- stream
- swing
- array
- 조회
- java
- Oracle
- Today
- Total
오버플로
[Java] JFC / Swing / Component 본문
1. JFC (Java Foundation Class)
- Window용 Application(eclipse, 알집, 알약, 카톡,,,,,)을 작성할 때 사용 (디자인용)
- AWT (Abstract Window Toolkit)와Swing을 제공함
- java만 가지고는 “.exe (Windows용 실행파일)”인 파일을 제작할 수 없음
- 설치되더라도 JDK는 별도로 존재해야 함(프로그램을 여러 개 설치해야 함)
2. JFC – Swing
- AWT 차후 버전
- 장점 : 가벼운 컴포넌트(빠르다)
에러가 적다
OS가 달라도 동일한 모양의 Component를 제공
이미지 다루기가 쉬움
- javax.swing package에서 Component를 제공함 (JComponenet Class와 그 상속 클래스들)
> swing은 component 기능을 나타내는 class 앞에 J가 붙어있음
- Swing은 AWT와 호환 가능함
- event 처리에 사용되는 interface와 class는 java.awt.event 패키지에 존재하는 것을 같이 사용함
- 작성법)
1) Window Component(JFrame)를 상속 (is a 관계)
2) 일반 컴포넌트를 생성 (사용자가 사용할 기능 제공)
: JButton jbtn = new JButton(“버튼”);
3) 일반 컴포넌트를 배치 (기능을 잘 사용할 수 있도록 적절한 위치에 놓음 – UI설계)
: add(2)에서 생성한 컴포넌트명) // Container 클래스에 존재 => 코드의 재사용성
4) window의 크기(보여줄 크기)를 설정
: setSize(int width, int height) // Window 클래스 => 코드의 재사용성
5) 사용자에게 보여주는 기능을 가진 method 호출 (가시화)
: setVisible(true) // Window 클래스 => 코드의 재사용성
** 닫기 버튼만 클릭하면 instance가 사라지지 않으므로 하기 method 추가 필요
=> 윈도우 종료 이벤트 처리
=> instance 삭제 : setDefaultCloseOperatinon(JFrame.EXIT_ON_CLOSE)
3. Component
- 최소의 기능을 가진 단위
- Component Programming : 기능을 가진 최소의 디자인 단위를 사용하여 프로그램을 제작하는 것
- Component 종류 :
- Visual Component : 눈에 보이는 Component
- Non-Visual Component : 눈에 보이지 않는 Component
- Visual Component 기능상의 분류 :
- Window Component : 사용자에게 보여주는 일
- Container Component 또는 Component를 가지고 사용자에게 보여주는 일을 하는 Component
- Window, Frame, Dialog, FileDialog - Container Component : 배치하는 일
- Container Component 또는 일반 Component를 배치하는 일
- Panel, ScrollPane - Component : 기능
- Button, Lable, TextField, TextArea, CheckBox, RadioButton, Choice(ComboBox), Menu, MenuItem, MenuBar
'Java' 카테고리의 다른 글
[Java] MVC Pattern (0) | 2021.08.18 |
---|---|
[Java] Layout Manager (배치관리자) (0) | 2021.08.17 |
[Java] Stack / autoboxing / unboxing (0) | 2021.08.12 |
[Java] JCF - Set, Map (0) | 2021.08.11 |
[Java] JCF - List / Generic (0) | 2021.08.10 |