열심히 끝까지

47강 Java GUI Programming 본문

멘토씨리즈 JAVA

47강 Java GUI Programming

노유림 2022. 5. 12. 20:01

47-1 ) GUI
GUI(Graphical User Interface)
       : 컴퓨터를 사용하는 사용자들을 위해 만들어진 
         특정한 기능을 가진 그래픽 요소
       : User Interface - 사용자가 사용하는 기능

[1] JAVA GUI 프로그래밍
       : 사용자가 프로그램을 쉽게 다룰 수 있도록 그래픽을 제공하도록
         프로그래밍하는 것       

47-2 ) AWT와 Swing
[1] AWT란?
       : 자바에서 GUI를 프로그래밍하기 위해 처음으로 제공하는 라이브러리

<특징>
- java.awt 패키지에 Frame, Window, Panel, Button, Label 등이 존재
운영체제의 자원 활용

[2] Swing이란?
      : AWT를 대체하기 위해 자바로 작성된 GUI 객체

<특징>
- javax.swing 패키지에 JFrame, JWindow, JPanel, JButton, JLabel 등이 존재
운영체제에 의존적이지 않으며, 운영체제와 관계없이 동일한 모양을 사용

[3] 컴포넌트(Component)와 컨테이너(Container)

컴포넌트 : JAVA에서 GUI를 구성하는 요소
                : 내가 만드는 프로그램을 구성하는 요소
              ex ) JButton, JCheckBox, JSlider, JTextField, JComboBox, JMenu ..
컨테이너 : 다른 컴포넌트를 포함할 수 있는 컴포넌트
               : 컴포넌트를 부착, 달 수 있는 컴포넌트
               : JPanel과 같은 건 부착 및 포함할 수 있는 컨테이너지만 
                JFrame과 같이 부착할 수 없는 컨테이너도 존재한다.
                   ==> 그것이 최상위 컨테이너 이다
         
47-3 ) Swing GUI Programming
실제 GUI 프로그래밍을 하기 위해서 사용하는 메서드

메서드                                           기능
setLocation(int x, int y)                      프래임의 위치를 지정
setSize(int width, int height)               프레임의 크기를 지정
setIconImage(Image IconImage)          프레임의 타이틀 바에 보여질 아이콘 설정
setTitle(String title)                           타이틀바의 제목을 설정
setVisible(boolean b)                        화면에 표시 여부를 설정

ex) 메모장
setIconImage


setTitle


setSize


setLocation


setVisible
: 이 프레임 자체를 화면에 띄우는가



GUI 프로그래밍 순서
1. extends JFrame
- JFrame 클래스를 상속받아, 나만의 프레임 클래스 작성
  ex) public class AddFrame extends JFrame
생성자에서 컴포넌트 및 프레임의 디자인 구현하기
  ex) public AddFrame() { }

2. 기본 설정 - 생성자에서 하기
: title, size, visible 설정하기
title 설정 : SetTitle("타이틀명");
  ex) setTitle("JFrame");
size 설정 : setSize(가로길이, 세로길이);
  ex) setSize(300, 300)
visible 설정 : setVisible(true);
  ex) setVisible(true);

<실습>
JFrame 클래스를 만들 때 위의 메서드들을 사용해서 기본적인 설정 가능

JFrame 종료 전


JFrame 종료 후(오른쪽 상단의 빨간색 사각형 버튼이 꺼진 것을 확인)


<실습>
JFrame에 컴포넌트 추가하는 프로그램



[5] 배치 관리자(Layout Manager)
       : 컨테이너 내부에 컴포넌트 추가 시 각각의 위치와 크기에 관해 결정

- 배치 관리자의 종류

       배치 관리자               특징
       FlowLayout               왼쪽 -> 오른쪽 순서대로 배치

       BorderLayout            컨테이너 공간을 동서남북 중앙으로 나누고
                                     지정한 영역에 배치

       GridLayout               컨테이너 공간을 동일한 크기의 2차원 격차로
                                     나누고 들어오는 순서대로 왼쪽 -> 오른쪽으로 배치

       CardLayout               카드를 쌓아놓은 듯이 컴포넌트를 쪼개어 배치


<실습>
JFrame에 레이아웃을 사용해 컴포넌트 추가하기
1. FlowLayout


2. BorderLayout


3. GridLayout


4. GridLayout(2, 2) version(격자무늬로 띄어짐)

'멘토씨리즈 JAVA' 카테고리의 다른 글

48강 Java GUI Programming2  (0) 2022.05.12
46강 입출력 / 자바의 IO 패키지  (0) 2022.05.11
45강 입출력 / 자바의 IO 패키지  (0) 2022.05.11
44강 스레드3  (0) 2022.05.10
43강 스레드2  (0) 2022.05.10