[JAVA] Swing 개념

Estar·2024년 7월 18일
0

TIL

목록 보기
10/17
post-thumbnail

What is Swing

  • JAVA Swing는 JDK에 포함되어 있는 GUI 개발용 라이브러리로서 다양한 컴포넌트와 이벤트 처리 구현이 가능하게하여 시각적으로 이해하기 쉽게 정보를 제공한다.
  • 사용자는 마우스나 키보드를 통해 쉽게 입력한다는 점에서 유리함이 있다.
  • 강력한 GUI 컴포넌트를 제공하고 프로그래밍이 쉽다.
  • AWT와 Swing 패키지가 있다.

Swing의 주요 특징

  • 플랫폼 독립성: Swing은 순수 Java로 작성되어 있어 어떤 운영체제에서도 동일하게 동작합니다.
  • 풍부한 컴포넌트: Swing은 다양한 기본 컴포넌트를 제공하며, 복잡한 UI 요소들도 포함되어 있습니다. 예를 들어, JTree, JTable, JTabbedPane 등.
  • 플러그 가능 Look and Feel: Swing은 다양한 Look and Feel을 지원하여, 운영체제의 기본 테마뿐만 아니라 커스텀 테마도 적용할 수 있습니다.
  • 이벤트 기반 프로그래밍: 사용자의 행동(버튼 클릭, 키 입력 등)에 따라 반응하는 이벤트 기반 프로그래밍을 지원합니다.
  • 더 나은 제어와 유연성: AWT보다 더 많은 기능과 유연성을 제공하여, 개발자가 UI를 더 세밀하게 제어할 수 있게 합니다.

주요 컴포넌트 및 클래스

  • 앞에 J를 붙여 만든다.

  • JFrame: 애플리케이션의 기본 창을 나타내는 클래스입니다.
  • JPanel: 다른 컴포넌트를 그룹화할 수 있는 일반적인 컨테이너입니다.
  • JScrollPane: 스크롤 가능한 영역을 제공하여 큰 내용을 작은 공간에 표시할 수 있습니다.
  • JMenuBar: 메뉴 바를 포함할 수 있는 컨테이너입니다.
  • JToolBar: 툴바를 포함할 수 있는 컨테이너입니다.
    이상 컨테이너 요소
  • JButton: 클릭 가능한 버튼을 나타냅니다.
  • JLabel: 텍스트를 표시하는 레이블을 나타냅니다.
  • JTextField: 한 줄의 텍스트 입력을 받을 수 있는 필드입니다.
  • JTextArea: 여러 줄의 텍스트를 입력할 수 있는 영역입니다.
  • JCheckBox: 선택할 수 있는 체크박스를 나타냅니다.
  • JRadioButton: 하나 이상의 옵션 중에서 선택할 수 있는 라디오 버튼을 나타냅니다.
  • JComboBox: 드롭다운 목록을 나타냅니다.
  • JMenu: 메뉴 바를 나타내며, 여러 JMenuItem을 포함할 수 있습니다.
    이상 컴포넌트 요소

그럼 컨테이너와 컴포넌트가 뭐지?

컨테이너

  • 다른 GUI 컴포넌트를 포함할 수 있는 컴포넌트
  • java.awt.Container 상속
  • 다른 컨테이너에 포함될 수 있음

컴포넌트

  • 컨테이너에 포함되어 화면에 출력될 수 있는 것
  • 모든 컴포넌트는 java.awt.Component를 상속받음

Swing GUI 프로그램 만들기

패키지 사용을 위해서 import 해야함

  • java.awt.GridLayout: AWT(Abstract Window Toolkit)에서 제공하는 레이아웃 매니저 클래스. 컴포넌트들을 격자 형태로 배치할 때 사용
  • javax.swing.JButton: Swing에서 제공하는 버튼 클래스. 클릭 가능한 버튼을 만들 때 사용.
  • javax.swing.JDialog: Swing에서 제공하는 대화 상자 클래스. 사용자와 상호 작용할 수 있는 모달 또는 비모달 대화 상자를 만들 때 사용.
  • javax.swing.JFrame: Swing에서 제공하는 최상위 컨테이너 클래스. 주로 애플리케이션의 주 창을 만들 때 사용.
  • javax.swing.JLabel: Swing에서 제공하는 레이블 클래스. 텍스트나 이미지를 표시할 때 사용.
  • javax.swing.JTextField: Swing에서 제공하는 한 줄짜리 텍스트 입력 필드 클래스. 사용자가 텍스트를 입력할 수 있는 필드를 만들 때 사용.
  • javax.swing.table.DefaultTableModel: Swing에서 제공하는 테이블 모델 클래스. JTable에 데이터를 제공하고, 테이블 데이터를 관리하는 데 사용.

JFrame 기본구성

생성메소드

  • setTitle(String title) ->제목설정
  • setSize(int width, int height) -> 창의 크기
  • setLocation(int x, int y) -> 창의 위치
  • setDefaultCloseOperation(int 상수) -> 종료에 대한 기능
  • setVisible(boolean b) -> 가시성
  • setResizable(boolean b) -> 크기 조정 여부
profile
개발자를 꿈꿔요

0개의 댓글

관련 채용 정보