Java Swing 프로젝트: 속성, 장점 및 프레임워크
게시 됨: 2020-09-03Java Swing은 Java 프로그래밍 언어와 관련된 응용 프로그램 인터페이스 또는 API입니다. Swing은 GUI 또는 그래픽 사용자 인터페이스를 만드는 데 사용되는 풍부한 라이브러리 세트입니다. 이 기사에서는 Java Swing이 무엇인지, Java Swing의 속성, 다른 API에 비해 Java Swing의 장점, Java Swing, AWT 및 SWT 간의 관계에 대한 명확한 아이디어를 얻을 수 있습니다. Java Swing에 대해 자세히 알아보기 전에 먼저 Java 및 Graphical User Interface에 대한 몇 가지 필요한 정보를 수집하겠습니다.
목차
자바 란 무엇입니까?
Java는 다양한 목적으로 널리 사용되는 객체 지향 프로그래밍 언어입니다. 오늘날 기술의 세계는 휴대폰의 모든 정보를 정복할 수 있을 정도로 발전했습니다. 게임, 멀티태스킹 및 기타 응용 프로그램도 휴대폰에서 사용할 수 있습니다. 이것은 기본 고급 언어 Java에서만 가능했습니다. 이 언어는 기본적으로 '한 번만 작성하고 모든 곳에서 실행'이라는 단 하나의 개념으로 개발되었습니다. 즉, 코드는 한 번만 작성되어야 하며 모든 장치에서 사용할 수 있습니다.
바로 자바가 '가상머신'이라는 개념을 통합함으로써 그 요구를 충족시킨 것 같다. 머신의 이름은 JVM(Java Virtual Machine)입니다. JVM은 코드와 애플리케이션을 실행할 수 있는 환경을 제공합니다.
자바로 작성된 코드는 자바 바이트코드로 변환된다. 말하자면 Java Bytecode는 Java Virtual Machine의 이해할 수 있는 언어입니다. Java RUN ENVIRONMENT(JRE)의 일부인 Java Virtual Machine은 코드를 컴파일하고 실행합니다.
Android 개발 및 응용 프로그램 외에도 Java는 GUI, 게임 개발, 소프트웨어 개발 등과 같은 사용자 인터페이스 구성에 사용됩니다. Java는 컴퓨터 과학 세계가 알고 있는 가장 중요한 고급 언어 중 하나입니다.
읽기: 초보자를 위한 10가지 흥미로운 Python GUI 프로젝트 및 주제

GUI 란 무엇입니까?
GUI는 그래픽 사용자 인터페이스의 약어입니다. 사용자와 소프트웨어 사이의 중간 역할을 합니다. 소프트웨어가 실행될 때 종종 위젯이 대화형 요소와 함께 표시됩니다. 이것을 사용자 인터페이스라고 합니다. 사용자 인터페이스의 일반적인 예는 로그인 자격 증명 위젯입니다.
Java 프로그래밍 언어에서 사용자 인터페이스의 구성은 Java SWING에 의해 수행됩니다.
자바 스윙을 이해하기
Java Swing은 Java GUI 또는 그래픽 사용자 인터페이스를 구성하는 데 사용되는 API 또는 응용 프로그램 인터페이스입니다. JFC(Java Foundation Classes)의 필수적인 부분입니다. JFC는 창 기반 응용 프로그램을 만드는 데 사용됩니다. Java Swing은 완전히 Java로 작성되었으며 AWT 또는 Abstract Windowing Toolkit의 확장 버전입니다.
자바 스윙의 속성
- 스윙은 JFC(Java Foundation Classes)에 속합니다. 그러나 그것들은 완전히 동일하지 않습니다. JFC에는 Swing과 함께 다른 항목이 번들로 포함되어 있습니다.
- Swing은 주로 세 가지 중요한 혁명적 발전을 가져왔습니다. 더 적은 리소스를 사용하고 더 정교한 구성 요소를 추가하며 프로그래머가 모양과 느낌을 제어할 수 있습니다.
- 플러그 가능한 룩앤필을 통해 프로그래머는 동일한 시스템용으로 설계된 모든 플랫폼에서 소프트웨어가 동일하게 보이도록 할 수 있습니다.
- Java Swing API GUI는 구성 요소, 컨테이너 및 레이아웃 관리자의 세 가지 세그먼트로 구성됩니다.
더 읽어보기: 자바 프로젝트 아이디어
자바 AWT란 무엇입니까?
AWT(Abstract Windowing Toolkit)는 API를 형성하는 Java GUI이기도 합니다. 처음부터 API를 구성하는 기본 GUI였습니다. 1995년부터 Java 자체와 함께 시장에 출시되었습니다. SWING은 AWT의 확장 버전일 뿐입니다. AWT의 구성 요소는 무겁습니다. AWT의 경우 부품은 기본 윈도우 시스템에 따라 다릅니다.
Java Swing이 개발된 이유는 무엇입니까?
AWT의 확장 버전인 Swing은 보다 정교한 인터페이스를 제공합니다. 또한 플러그형 모양을 지원합니다. Java Swing의 구성 요소는 AWT보다 강력하고 유용합니다. Swing은 사용하는 것이 더 신중하기 때문에 실행 중인 어셈블리보다 이점이 있습니다. 또한 Java Swing에는 AWT보다 더 많은 요소가 포함되어 있습니다.
Swing은 현대 응용 프로그램에서 흔히 볼 수 있는 사용자 인터페이스의 모양을 제공합니다. Swing은 또한 프로그래머가 응용 프로그램의 모양과 느낌, 로컬 장치 또는 전역 모양 중에서 선택할 수 있도록 합니다.
AWT에 비해 스윙의 장점
- Java AWT는 플랫폼에 따라 다르며 운영 체제의 리소스도 사용하여 프로그램을 실행했습니다. 이 프로그램은 Windows, Mac 및 Linux와 같은 다른 운영 체제에서 다른 모양과 모양을 가졌을 것입니다.
반면 Java Swing은 플랫폼 독립적인 리소스를 사용하므로 Windows, Mac, Linus와 같은 모든 운영 체제에서 소프트웨어는 동일한 모양을 갖습니다.

- Java AWT의 구성 요소는 무겁지만 Java Swing의 요소는 경량입니다.
- Java AWT는 플러그형 룩앤필을 지원하지 않지만 Java Swing은 동일한 룩앤필을 보증합니다.
- Java Swing은 Java AWT보다 더 많은 구성 요소를 제공합니다. 새로 통합된 요소에는 탭 패널, 나무, 목록, 테이블, 스크롤 창, 색상 선택기가 포함됩니다.
- Java AWT는 MVC를 따르지 않지만 Java Swing은 따릅니다.
MVC는 Model View Controller로 Model은 Data, View는 Presentation, Controller는 Model과 View 사이의 인터페이스 역할을 한다.
확인: Python 프로젝트 아이디어
자바 스윙의 프레임워크
- Java는 플랫폼 독립적인 프로그래밍 언어입니다. 따라서 Java로 작성된 Swing은 플랫폼과 무관하며 모든 운영 체제에서 실행할 수 있습니다.
- 모듈식 아키텍처인 Swing을 사용하면 특정 인터페이스의 많은 사용자 정의 구현을 함께 연결할 수 있습니다. Java의 상속 메커니즘의 도움으로 사용자는 이러한 요소를 사용자 정의하여 기본 규칙을 무시할 수 있습니다.
- Swing은 런타임 작업 및 간접 구성에 의존하므로 런타임 시 설정의 변수 변경에 응답합니다. 사용자는 자신이 선택한 모양과 느낌을 해석할 수 있으므로 응용 프로그램 전체에서 구성의 균일한 분포를 형성하는 데 도움이 됩니다. Swing 프레임워크가 있는 애플리케이션은 런타임 중에 GUI를 핫스왑할 수 있습니다.
- javax.swing.J 컴포넌트는 스윙에 필요한 모든 컴포넌트를 제공합니다. Swing의 MVC 패턴은 느슨하게 결합되어 있습니다. 이벤트 리스너는 프로그래밍 방식으로 데이터 모델 개체에 연결됩니다.
컨테이너 클래스
GUI를 생성하려면 적어도 하나의 컨테이너 클래스 객체가 필요합니다. 컨테이너 클래스에는 다양한 구성 요소가 포함될 수 있습니다. 컨테이너에는 크게 세 가지 유형이 있습니다.
패널: 창 자체가 아닌 순수한 컨테이너입니다. 패널의 주요 목적은 구성 요소를 창에 구성하는 것입니다.
프레임: 제목과 아이콘이 있는 완전히 작동하는 창입니다.
대화: 메시지를 표시해야 할 때 팝업 창으로 설명할 수 있습니다. 프레임처럼 완전히 작동하는 창은 아닙니다.
AWT와의 관계
Abstract Window Toolkit은 AWT로 약칭됩니다. Java의 고대 버전에서 AWT는 사용자 인터페이스 장치에 대해 플랫폼 독립적인 API를 제공했습니다. Abstract Window Toolkit에는 전문 분야가 있습니다. 모든 구성 요소는 Swing 구성 요소에 의해 규제되고 수행되며 운영 체제의 윈도우 도구 키트에 고유한 리소스를 할당할 필요가 없습니다. 결과적으로 이러한 구성 요소를 경량이라고 합니다. 반면에 AWT 구성 요소는 중량 단위로 간주됩니다.
스윙 API는 AWT의 조화 확장입니다. JApplet, JDialogue, JFrame 및 JWindow와 같은 Java Swing의 모든 최상위 단위는 AWT를 확장하는 데 도움이 됩니다. 이것은 Java Swing(경량)과 AWT(무거운) 구성 요소가 공존하기 때문에 발생합니다. Z-order 문제로 인해 사람들은 동일한 창에서 Swing 및 AWT 구성 요소를 함께 사용할 수 없었습니다.
이 문제는 Java 6 업데이트 10이 발생했을 때 발생했습니다. 그럼에도 불구하고 이러한 문제는 최신 버전의 Java에서 해결되었습니다. 이제부터 하나의 그래픽 사용자 인터페이스에서 경량 구성 요소와 중량 구성 요소를 함께 사용할 수 있습니다.
SWT와의 관계
SWT는 Standard Widget Toolkit의 약어입니다. IBM이 만들었지만 현재 Eclipse의 승인을 받고 있습니다. Standard Widget Toolkit의 구현은 Abstract Widget Toolkit의 중량 단위를 상징합니다. 이것은 기본 고대 창 도구 키트와 더 많은 충성도를 동기화합니다. 그러나 이 모델에서는 플랫폼에 대한 노출이 더 비쌌습니다.
SWT 대 자바 스윙
Standard Widget Toolkit과 Java Swing의 성능을 비교하는 것은 많은 논쟁을 불러일으킵니다. Java 인터페이스에 의존하는 SWT는 Java와 그래픽 사용자 인터페이스 사이에 통신이 있어야 하는 경우 속도가 느려집니다. 그러나 GUI가 데이터 소스를 단독으로 처리할 때 더 빠른 모델로 작동합니다. 따라서 주어진 인수로 둘의 비교에 대해 결정적인 언급을 할 수 없습니다.

확인: Java의 이벤트 처리: 그것이 무엇이며 어떻게 작동합니까?
마무리
Android 및 사용자 친화적인 소프트웨어 시장이 성장함에 따라 Java는 날이 갈수록 더욱 신중해지고 있습니다. 따라서 Java에서 경력을 쌓는 것은 안정성을 보장할 수 있습니다. Android 앱 개발은 가장 성장하는 시장 중 하나입니다. Java 개발자는 업계에서 가장 높은 급여를 받는 직업 중 하나입니다.
응용 프로그램을 개발하려면 사용자를 끌어들이는 데 도움이 되는 대화형 인터페이스를 사용자에게 제공해야 합니다. 이러한 인터페이스는 Java Swing 프로젝트를 사용하여 만들어집니다. 게다가 Java는 백엔드 개발에 필수적입니다. 간단히 말해서, 소프트웨어 개발 분야에서 경력을 쌓고 싶다면 Java에 대한 명령이 있어야 번창할 수 있습니다.
시간이 지남에 따라 기술의 발전은 새로운 지식 학습의 급증으로 이어집니다. 이러한 이유로 AWT에 대한 Swing의 개선이 중요합니다. 따라서 upGrad는 인터넷을 통해 수백만 명에게 도움이 되는 일련의 학습 방법을 제공합니다.
Java 및 전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 작업 전문가를 위해 설계된 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 PG 디플로마를 확인하십시오. 이 과정은 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트, 과제, 일류 기업에서의 취업 지원을 제공합니다.