일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Argos
- BDDMockito
- 회고
- unique result
- ubuntu이미지
- jpa
- 우아한테크코스5기
- 검색api
- clearAutomatically
- 우아한테크코스
- 자바 롬복
- NonUniqueResultException
- 스프링 롬복
- @Query
- @Modifying
- Mock
- 배포스크립트
- docker에 ubuntu
- 영속성컨텍스트
- 벌크연산
- 우테코
- @Param
- SpringDataJPA
- 우아한테크코스 블랙잭
- 밤랩
- 스프링부트배포
- 우분투
- bomblab
- ubuntu
- 레벨인터뷰
- Today
- Total
Jeomxon's Tech Note
2019-07-09 모각코(1) 본문
--------------------------------------------------------------------------
날짜 : 2019-07-09
회차 : 1
목표 : Chapter 13 그래픽 사용자 인터페이스 개요 끝내기
---------------------------------------------------------------------------
***오늘 배운 내용 정리***
Chapter 13. GUI
1. 그래픽 사용자 인터페이스
GUI는 컴포넌트들로 만들어진다
컴포넌트 : 레이블, 버튼, 텍스트 필드와 같은 GUI를 작성하는 기본적인 빌딩 블록 == 컨트롤(in 윈도우 시스템)
GUI객체는 두 가지가 있다.
1. AWT(Abstract Windows Toolkit)
2. Swing
*AWT의 장단점
장점 : 여러 플랫폼에서 쉽게 컴포넌트를 제공할 수 있음
단점 : 컴포넌트가 플랫폼에 종속적이기 때문에 실행되는 플랫폼에 따라서 컴포넌트의 모습이 달라짐
*Swing의 장점
장점 : 컴포넌트가 자바로 작성되어 있어 어떤 플랫폼에서든지 일관된 화면을 보여줄 수 있음
-스윙은 AWT를 대체하기 위해 AWT의 컴포넌트 이름 앞에 J를 붙인 동일한 기능을 하는 컴포넌트들을 사용
**스윙
룩앤필 : 각각의 운영체제가 지원하는 GUI의 외관
-자바 룩앤필, 윈도우 룩앤필, 모티프 룩앤필 등이 제공
-대부분의 경우 javax.swing과 javax.swing.event 를 사용
**스윙의 특징
-JFC(Java Foundation Class) : 애플리케이션에 그래픽 사용자 인터페이스, 풍부한 그래픽 기능, 다양한 언어와 다양한 입력 장치들을 지원
--JFC가 제공하는 기능--
1. 스윙 GUI 컴포넌트
2. 자바 2D API
3. 교체 가능한 룩앤필 지원
4. 데이터 전송
5. 되돌리기 기능
2. 컨테이너
**컨테이너란?
컨테이너 : 다른 컴포넌트들을 내부에 넣을 수 있는 컴포넌트
-기본 컴포넌트 : JButton, JLabel, JCheckbox, JChoice, JList, JMenu, JTextField, JScrollbar, JTextArea, JCanvas 등
-컨테이너 컴포넌트 : JFrame, JDialog, JApplet, JPanel, JScrollPane 등
**컨테이너의 종류
최상위 컨테이너와 일반 컨테이너로 나뉨
-최상위 컨테이너 : 절대 다른 컨테이너 안에 포함될 수 없는 컨테이너
ex) 프레임(JFrame), 다이알로그(JDialog), 애플릿(JApplet) 등
-일반 컨테이너 : 다른 컨테이너 안에 포함될 수 있는 컨테이너
ex) 패널(JPanel), 스크롤 페인(JScrollPane) 등
3. GUI 작성 절차
-스윙에는 JFrame, JDialog, JApplet의 3가지 최상위 컨테이너가 존재
-JFrame : 윈도우와 메뉴를 가지는 일반적인 데스크탑 애플리케이션에 적합
-JDialog : 메뉴가 없는 대화 상자 형식의 간단한 애플리케이션에 사용
-JApplet : 애플릿을 작성하는데 사용
-프레임 생성하기 #1
-JFrame 클래스에 의하여 표현
위와 같은 코드를 실행하게 되면
위 그림과 같이 Frame Test가 만들어지게 된다!!
**코드설명
import javax.swing.*; : javax는 확장 패키지를 뜻함 스윙클래스 안에있는 모든 것을 사용한다는 의미
JFrame f = new JFrame("Frame Test"); : 참조변수의 이름이 f 인 JFrame 객체를 생성하고 프레임 제목을 ""안에 작성
setSize(x,y); 가로 x, 세로 y 픽셀의 프레임 크기 지정
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); : 사용자가 오른쪽 상단의 close 버튼을 눌렀을 때 프로그램을 종료함을 나타냄, 써주지 않으면 보이지 않더라도 계속 실행될 수 있으므로 중요!!
setVisible(true); : 프레임을 생성한 후 사용자가 볼 수 있게 해주는 메소드
-컴포넌트 생성 및 추가
add()메소드를 이용하여 컴포넌트를 컨터이너에 추가
위 코드를 실행시켜
위와 같은 프레임에 버튼을 추가하였다
4. 프레임의 속성 변경하기
-설정자 메소드는 모두 JFrame 클래스에 정의되어있는 것이 아니다!!
-JFrame에 있는 중요한 메소드를 이용하여 간단한 예제를 작성해 보았다
위 코드를 실행하기에 앞서
위와 같이 프로젝트 파일안에 넣어준다. 그리고 코드를 실행하게 되면
위 그림과 같이 My Frame 이라는 타이틀 왼쪽에 icon.jpg 라는 이미지를 삽입된 모습을 확인할 수 있다.
(단, icon.jpg라는 파일을 Java Project 파일 안에 넣어두어야 한다.)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
***활동 정리***
느낀점 : 1학기 중에 배웠던 객체개념이 GUI에도 쓰인다는 사실을 깨닫게 되었고 일단 시작을 했다는 사실에, 그리고 앞으로 무언가를 이뤄나갈 수
있다는 사실이 행복했다. 아침 이른시간이었음에도 불구하고 생각보다 집중이 잘되고 시간이 너무 빨리 지나가서 놀랐다. 그리고 내가 평소에 해왔던 자바와 달리 그래픽이다 보니 뭔가 새로운 언어를 배우는 듯한 느낌이 들어서 더 집중할 수 있었던 것 같다.^_^
아쉬운 점 : 일단 시작이라서 그런지 포스팅을 위한 시간이 많이 소요됐던 점이 좀 아쉬웠다. 하지만 다음 회차부터는 이런 부분에 있어서는 시간이 단축될 것이기 때문에 이번 회차에서 느낄 수 있던 가장 큰 아쉬움이었던 것 같다. 또한 Chapter13을 끝까지 공부하고 싶었는데 그 중 마지막 소단원 5를 끝내지 못해서 아쉬웠다. 다음부터는 미리 분량을 파악하고 실현가능한 공부량을 구체적으로 설정해야겠다고 다짐하는 계기가 되었다.^_^
'Mogaco > 2019하계' 카테고리의 다른 글
2019-07-18 모각코(3) (0) | 2019.10.29 |
---|---|
2019-07-16 모각코(2) (0) | 2019.10.29 |