Purple Bobblehead Bunny

Backend/JAVA

[JAVA] Java Swing

준영어린이 2022. 3. 2. 16:48

 

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

Swing  GUI를 보다 쉽게 구현할 수 있도록 도와주는 순수 자바 라이브러리.

          AWT기반이기 때문에, AWT와 100% 호환성을 보여주고 Swing의 컴포넌트들은 J로 시작한다.

 

Java GUI 프로그래밍

Java GUI Programming이란 사용자가 이해하기 쉬운 모양으로 정보를 제공하는 요소를

프로그래밍 하는것을 말하며 사용자는 키보드와 마우스를 이용해서 그래픽 요소들을 쉽게 사용한다.

 

GUI는 컴포넌트들로 만들어지고 자바에서는 객체로 생성.

-Component : 레이블, 버튼이나 텍스트 필드와 같은 GUI를 작성하는 기본적인 빌딩 블록, Control이라고도 부름.

 

 

컨테이너(Container)

 

다른 컴포넌트를 포함할 수 있는 컴포넌트

모든 컴포넌트는 컨테이너에 포함 되어야 화면에 출력이 가능하다.

최상위 컨테이너는 다른 컨테이너에 포함될 수 없음.

             종류                                          컴포넌트 명
단순 컴포넌트 JButton, JLabel, JCheckbox, JChoice, JList, JMenu, JTextField, JScrollbar, JTextArea, JCanvas
컨테이너 컴포넌트 JFrame, JDialog, JApplet, JPanel, JScrollPanel
최상위 컨테이너  JFrame, JDialog,JApplet
일반 컨테이너 JPenel, JScrollPanel

• 컨테이너 : 다른 컴포넌트들을 포함할 수 있는 컨테이너 

• 최상위 컨테이너 : 다른 컨테이너에 속하지 않고 다른 컴포넌트들을 포함할 수 있는 컨테이너 

• 컴포넌트 : 컴포넌트는 다른 컴포넌트를 포함할 수 없으며, 컨테이너에 포함되어야 화면에 출력되는 객체

GUI 작성 절차

• JFrame : 윈도우와 메뉴를 가지는 일반적인 데스크탑 어플리케이션

• JDialog : 메뉴가 없는 대화 상자 형식의 간단한 어플리케이션

• JApplet : 애플릿을 작성

                                                            컨테이너 생성 ▶ 컴포넌트 추가

프레임 생성하기 예제 -1 (JFrame 객체 생성)

 

 

프레임 생성하기 예제 -2 (JFrame 클래스를 상속받아 사용)

프레임 생성하기 예제 -3 (JFrame 클래스를 상속받고 main과 분리하여 사용)

 

 

컴포넌트 추가 (Button 컴포넌트 추가하기)

 

 

 

최상위 컨테이너( JFrame, JDialog, JApplet)

 

• 컨테이너는 컴포넌트들을 tree 형태로 저장

• 최상위 컨테이너는 tree의 root 노드가 된다

• 각 컴포넌트들은 딱 한번만 컨테이너에 포함될 수 있다

  (다른 컨테이너에 있는 컴포넌트를 다른 컨테이너에 넣을 수 없음)

• 최상위 컨테이너는 다른 컨테이너에 포함될 수 없다

• 최상위 컨테이너는 내부에 콘텐트 페인(content pane) 을 가진다.

• 최상위 컨테이너에는 메뉴바 추가 할 수 있음..

메소드명 설명
add(component) 프레임에 컴포넌트를 추가
setLocation(x, y) 프레임의 위치를 설정
setSize(width, heith) 프레임의 크기를 설정
setIconImage(IconImage) 왼도우 시스템에 표시할 아이콘을 설정
setTitle() 타이틀바의 제목을 설정
setVisible(boolean) 화면에 표시여부 설정
setResizable(boolean) 사용자가 크기를 조절할 수 있는지 여부 설정

 

 

Panel

• 컴포넌트들을 포함하고 있도록 설계된 컨테이너

 

Label

• 편집이 불가능한 텍스트를 생성                           JLabel label = new JLabel(text);

 

Text Field

• 입력이 가능한 한 줄의 텍스트 필드를 생성

 

메소드 명  설명
JTextField 기본적인 텍스트 필드
JFormattedTextField 사용자가 입력할 수 있는 문자를 제한한다.
JPasswordField 사용자가 입력하는 내용이 보이지 않는다.
JComboBox 사용자가 직접 입력할 수도 있지만 항목 중에서 선택 가능
JSpinner 텍스트 필드와 버튼이 조합된 것으로 사용자는 이전 버튼과 다음 버튼을 이용하여 선택할 수 있다.

 

Button

메소드 명  설명
JButton 가장 일반적인 버튼이다
JCheckBox 체크박스 버튼
JRadioButton 라디오 버튼으로 그룹 중의 하나의 버트만 체크할 수 있다.

 

프레임(컨테이너)에 컴포넌트 추가

 

 

 JButton과 JTextField 객체를 하나씩 생성하고 JFrame에 있는 add(Componenet)라는 메서드로 JFrame에 컴포넌트를

추가 한다. 

 

피자 주문 화면 제작

프레임 - (패널 - (패널 A - 패널 B)) 구조를 따른다.

패널 A에는 라벨 컴포넌트(편집이 불가능한 Text) 1개가 포함되어 있음

패널 B에는 버튼 컴포넌트 3개가 포함되어 있음

 

'Backend > JAVA' 카테고리의 다른 글

[JAVA] Generic  (0) 2022.03.04
[JAVA] 배치 관리자(Layout manager)  (0) 2022.03.02
[JAVA] StringBuilder, StringBuffer  (0) 2022.03.02
[JAVA] String 클래스  (0) 2022.03.02
[JAVA] 예외 처리 Exception  (0) 2022.03.02