* Gregorian Calendar

 

- 현재 운영체제에서 세팅된 시간을 가져온다.

 

- 타임존을 다르게 다르게 설정하여 서로 다른시간대를 가져올수있다.

  (TimeZone 클래스)

 

#캘린더 설정법

 

 

 

 

#TimeZone

 

 

 

#세계 시계만들기

 

- 각 숫자를 입력할 때 마다 서로 다른나라의  시간을 보여주는 프로그램을 만들자

  (최하 5개국의 시간을 보여준다.)

 

 

 

 #Math 클래스

 

- Math클래스는 수학에서 많이 사용되는 여러가지 함수들을 메소드로 제공하는 클래스

 

 

 

 

# Wrapper 클래스

 

- 자바의 데이터타입은 크게 프리미티브 타입과 레퍼런스 타입으로 나누어진다.

 

- 프리미티브 타입 : 수치 , 문자 , 논리값과 같은 간단한 데이터를 표현할 수 있는 타입

- 레퍼런스 타입 : 프리미티브 타입 외에 다른 타입

 

- Wrapper 클래스는 프리미티브 타입의 값을 담는 객체를 생성하는것 즉 프리미티브 타입의

  값을 감싸는 역할(wrap)을 하기 때문에 이런 클래스를 통틀어서 Wrapper Class 라고 부른다.

 

- 하나의 Wrapper 클래스에는 하나의 프리미티브 값을 담을 수 있으며 생성자 파라미터로

  값을 넘겨주어야 한다.

 

- Wrapper 객체가 생성되고 난 다음에 그 객체 안에 있는 값을 바꿀 수는 없다.

 

 

'Java > Java2' 카테고리의 다른 글

Java [자료구조]  (0) 2017.09.24
Java [예외처리,직렬화]  (0) 2017.09.18
Java [Object,Inner 클래스]  (0) 2017.09.16
Java [GUI 프로그램2]  (0) 2017.09.13
Java [GUI 프로그램]  (0) 2017.09.12

# GridBagLayout

 

- GridLayout을 일반화 한것이다. GridLayout의 경우는 각 격자들의 크기가 일정하기 때문에

  배치되는 컴포넌트들의 크기도 일정할 수 밖에 없다.

 

- GridBagLayout은 한 컴포넌트가 다수개의 격자를 차지할 수 있기 때문에 보다 다양한 형태로 

  만드는것이 가능하다. 

 

#주요 필드 정의

-> int gridX : 컴포넌트가 놓인 열의 위치

-> int girdY : 컴포넌트가 놓인 행의 위치 

-> int gridwidth : 컴포넌트가 차지하는 가로 넓이

-> int gridheight : 컴포넌트가 차지하는 세로 넓이

-> fill : 컴포넌트 확대하는 방법 가로,세로 가로-세로 채우기 방법이 있다.

-> double weightX : 가로 방향 여유 공간 채우는 방법

-> double weightY : 세로 방향 여유 공간 채우는 방법 

 

 

 

#Panel

- 레이아웃에 올릴때 패널을 이용하면 다양한 레이아웃을 편리하게 구성할 수 있다.

 

 

 

 

#Penel 연습 아무거나 입력값을 받으면 나타내기

 

 

 

 

#AWT 이벤트 리스너

 

- Window : WindowAdapter , WindowListener 

 

- Action : AcionListener

 

- Mouse : MouseListener , MouseAdapter

 

- Focus : FocusListener , FocusAdapter

 

- Item : ItemListener

 

- Key : KeyListener , KeyAdapter

 

 

#AWT - WindowEvent

 

 

 

#AWT - 사칙연산이 가능한 계산기 만들어보기

 

 

 

 

 

 

 

'Java > Java2' 카테고리의 다른 글

Java [자료구조]  (0) 2017.09.24
Java [예외처리,직렬화]  (0) 2017.09.18
Java [Object,Inner 클래스]  (0) 2017.09.16
Java [Gregorian Calendar,Math,Wrapper]  (0) 2017.09.14
Java [GUI 프로그램]  (0) 2017.09.12

*GUI 프로그래밍

- 텍스트 기반 운영체제가 아닌 그래픽을 이용하여 사용자와 프로그램간의

  상호작용을 할 수 있도록 해주는 인터페이스

 

- 이러한 그래픽 프로그래밍을 지원하기 위해 나온것이 AWT

 

#AWT (Abstract Window Toolkit)

- GUI 프로그래밍을 제작하기 위해 자바에서 제공하는 라이브러리를 모아놓은것

 

- 모든 GUI 프로그램에 사용되는 컴포넌트 및 툴킷을 제공하고 있으며 향후에는 JFC와 같은 스윙(swing)

  및 Java2D의 모태가 되는 개념이다.

 

- 운영체제와 응용프로그램 사이에 연결라이브러리

 

- 실행되는 운영체제에 따라 다르게 보이거나 동작방식에 차이가 있을수있다.

   이를 보완하기 위해 개발된것이 JFC (Java Foundation Classes)이다.

 

- Component : 다른 Component를 올릴 수 있는 Container를 포함한 각종 Container위에 올라갈 화면 구성

                    요소들이 포함되어 있다.

 

- Container : 창의 역할로서 한개 이상의 Container 위에 Button,TextField 같은 Component가 올라감으로서

                 화면이 구성된다.

 

- LayoutManager : Container 위에 Component들을 올릴때 자리 배치 방법

 

 

 

#AWT Frame

 

- Window 클래스의 하위 클래스로 일반적인 응용프로그램에서 윈도우를 생성하기 위해

  사용되는 클래스 다른 윈도우에 속해있지않은 윈도우로 최상위 레벨 윈도우라 한다.

 

- 상위 클래스인 Window 클래스는 타이틀,메뉴등이 지원되지 않기 때문에 일반적으로

  사용하지 않고 Frame 클래스를 사용한다.

 

- 기본적으로 경계선,타이틀,메뉴,최대화,최소화,종료 등의 기능을 제공한다.

 

- 최종적으로 화면에올릴 컴포넌트나 컨테이너를 적용한다.

 

 

#AWT Panel

 

- 실제로 구성되는 화면은 단순하지가 않는다 그래서 프레임에 올릴 때는 바로 올리지않고

  이 Panel에 올린 뒤에 프레임에 올린다.

 

- 보통은 그룹별로 묶어서 프레임에 붙이거나 다른Panel을 생성해서 자신에게 올리고 그것을 한번에

  프레임에 올리기도 한다.

 

 

#AWT Label

 

- 사각형 영역에 문자열을 표시할 때 사용하는 컴포넌트

 

- 경계선이 없고 문자열은 좌,우 중앙 정렬시킬 수 있다.

 

 

#AWT 기본 화면 구성

 

 

 

#Frame Setsize

 

 

 

 

#Frame에서 자주 사용하는 함수들

 

- setLocation (int left,int top) : 프레임의 화면상의 위치를 설정하는것

 -> 모니터 해상도를 가져오는 함수와 함께 사용하여 프레임의 위치를 설정할 때 자주 사용한다.

 

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

 

- setResizable(true) : 프레임의 크기를 조절을 가능하게 할것인지 여부

 

- getExtendedState: 프레임의 상태를 얻어온다.

-> MAXIMZED_HORIZ : 가로최대화

-> MAXIMZED_VERT : 세로최대화

-> MAXIMZED_BOTH : 둘다최대화

 

- getState : 프레임의 상태를 얻어옴

-> NORMAL : 윈도우가 기본 상태로 있음

-> ICONIFIED : 윈도우가 아이콘화 되어있음

 

 

#AWT - Layout Manager 

 

- 화면 분할을 담당하는 레이아웃

 

- FlowLayout , GridLayout , BorderLayout , CardLayout , GridBagLayout 등이 있다.

 

 

#AWT - FlowLayout

 

- 설정한 값에 따라 컴포넌트들이 왼쪽에서 오른쪽, 오른쪽에서 왼쪽 가운데에서 양쪽등으로

  정렬이 되는 레이아웃

 

 

 

 

#AWT - BorderLayout

 

- 컨테이너를 West,East,North,South,Center 모두 5개의 영역으로 나누고 각 영역에

  하나의 컴포넌트만 배치할 수 있는 레이아웃

 

- 컨테이너의 크기가 변경되면 위치는 고정이며 크기가 변한다.

  상,하 : 가로변경

  좌,우 : 세로변경

  가운데 : 가로,세로 변경

 

- 컴포넌트를 추가할 때 위치를 의미하는 텍스트와 같이 추가한다.

 

 

 

 

#AWT - GridLayout

 

- 행과 열을 만들어 컴포넌트들을 컨테이너 위에 순서대로 올린다.

 

- 컨테이너 크기가 변경되면 컴포넌트들의 위치는 고정 , 크기는 모두 동일한 크기로 변함

 

 

 

 

#그리드 뷰를 사용하여 달력 만들기

 

- 매달마다,주의 갯수가 다르고 토요일은 파랑색 일요일은 빨간색으로 표시

- 전달은 주말색깔에 상관없이 회색으로 표시

- 글자색을 바꾸는 메소드 setForeground(Color.Red) 같은 식으로 색을 찾아서 사용

 

 

'Java > Java2' 카테고리의 다른 글

Java [자료구조]  (0) 2017.09.24
Java [예외처리,직렬화]  (0) 2017.09.18
Java [Object,Inner 클래스]  (0) 2017.09.16
Java [Gregorian Calendar,Math,Wrapper]  (0) 2017.09.14
Java [GUI 프로그램2]  (0) 2017.09.13

+ Recent posts