Swing In Java : 예제로 GUI를 만드는 방법 알아보기



: 스윙 클래스 계층 구조와 GUI 응용 프로그램의 실제 데모를 통해 레이아웃 관리자를 사용하여 Java에서 스윙 개념을 얻습니다.

Java의 Swing은 가볍고 플랫폼에 독립적 인 Java 기초 클래스의 일부입니다. 창 기반 응용 프로그램을 만드는 데 사용됩니다. 여기에는 버튼, 스크롤 막대, 텍스트 필드 등과 같은 구성 요소가 포함됩니다. 이러한 구성 요소를 모두 모으면 그래픽 사용자 인터페이스가 만들어집니다. 이 기사에서는 스윙 인을 사용하여 애플리케이션을 빌드하는 프로세스와 관련된 개념을 살펴 보겠습니다. . 이 기사에서 설명하는 개념은 다음과 같습니다.

Swing In Java는 무엇입니까?

Swing in Java는 최적화 된 창 기반 애플리케이션을 빌드하기위한 다양한 위젯이있는 경량 GUI 툴킷입니다. JFC (Java Foundation Classes)의 일부입니다. AWT API를 기반으로 작성되었으며 전적으로 . AWT와 달리 플랫폼 독립적이며 가벼운 구성 요소를 가지고 있습니다.





버튼, 체크 박스 등과 같은 GUI 구성 요소가 이미 있기 때문에 애플리케이션을 빌드하는 것이 더 쉬워집니다. 이것은 처음부터 시작할 필요가 없기 때문에 유용합니다.

컨테이너 클래스

어떤 그 안에 다른 구성 요소가있는 것을 컨테이너 클래스라고합니다. GUI 애플리케이션을 빌드하려면 최소한 하나의 컨테이너 클래스가 필요합니다.



다음은 세 가지 유형의 컨테이너 클래스입니다.

  1. 패널 – 구성 요소를 창에 구성하는 데 사용됩니다.

  2. 프레임 – 아이콘과 제목이있는 완전히 작동하는 창



  3. 대화 상자 – 팝업 창과 같지만 프레임처럼 완전히 작동하지는 않습니다.

AWT와 스윙의 차이점

AWT 그네
  • 플랫폼에 따라 다름
  • 플랫폼 독립적
  • MVC를 따르지 않음
  • MVC를 따릅니다.
  • 덜 구성 요소
  • 더 강력한 구성 요소
  • 플러그 형 모양과 느낌을 지원하지 않습니다.
  • 플러그 형 모양과 느낌 지원
  • 헤비급 선수
  • 경량

자바 스윙 클래스 계층

Java-edureka의 계층 스윙

설명 : JButton, JComboBox, JList, JLabel과 같은 Swing의 모든 컴포넌트는 컨테이너 클래스에 추가 할 수있는 JComponent 클래스에서 상속됩니다. 컨테이너는 프레임 및 대화 상자와 같은 창입니다. 기본 스윙 구성 요소는 모든 GUI 응용 프로그램의 구성 요소입니다. setLayout과 같은 메소드는 각 컨테이너의 기본 레이아웃을 재정의합니다. JFrame 및 JDialog와 같은 컨테이너는 자신에게 구성 요소 만 추가 할 수 있습니다. 다음은 사용 방법을 이해하기위한 예제와 함께 몇 가지 구성 요소입니다.

JButton 클래스

레이블이있는 단추를 만드는 데 사용됩니다. ActionListener를 사용하면 버튼을 눌렀을 때 어떤 동작이 발생합니다. AbstractButton 클래스를 상속하며 플랫폼에 독립적입니다.

예:

import javax.swing. * public class example {public static void main (String args []) {JFrame a = new JFrame ( 'example') JButton b = new JButton ( 'click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

산출:

자바에서 charat 사용

JTextField 클래스

JTextComponent 클래스를 상속하며 한 줄 텍스트를 편집하는 데 사용됩니다.

예:

import javax.swing. * public class example {public static void main (String args []) {JFrame a = new JFrame ( 'example') JTextField b = new JTextField ( 'edureka') b.setBounds (50,100,200,30) a .add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

산출:

JScrollBar 클래스

가로 및 세로 스크롤 막대를 추가하는 데 사용됩니다.

예:

import javax.swing. * class example {example () {JFrame a = new JFrame ( 'example') JScrollBar b = new JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300,300) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {new example ()}}

산출:

JPanel 클래스

JComponent 클래스를 상속하고 다른 구성 요소를 연결할 수있는 응용 프로그램을위한 공간을 제공합니다.

import java.awt. * import javax.swing. * public class Example {Example () {JFrame a = new JFrame ( 'example') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new JButton ( '클릭 me') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {new Example ()}}

산출:

JMenu Clas 에스

JMenuItem 클래스를 상속하고 메뉴 모음에서 표시되는 풀다운 메뉴 구성 요소입니다.

import javax.swing. * class Example {JMenu menu JMenuItem a1, a2 Example () {JFrame a = new JFrame ( 'Example') menu = new JMenu ( 'options') JMenuBar m1 = new JMenuBar () a1 = new JMenuItem ( 'example') a2 = new JMenuItem ( 'example1') menu.add (a1) menu.add (a2) m1.add (menu) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {new Example ()}}

산출:

JList 클래스

JList 클래스의 객체는 텍스트 항목의 목록을 나타내는 JComponent 클래스를 상속합니다.

import javax.swing. * public class 예제 {Example () {JFrame a = new JFrame ( 'example') DefaultListModel l = new DefaultListModel () l.addElement ( 'first item') l.addElement ( 'second item') JList b = new JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} public static void main (String args [ ]) {new Example ()}}

산출:

print_r을 문자열로

JLabel 클래스

컨테이너에 텍스트를 배치하는 데 사용됩니다. 또한 JComponent 클래스를 상속합니다.

import javax.swing. * public class Example {public static void main (String args []) {JFrame a = new JFrame ( 'example') JLabel b1 b1 = new JLabel ( 'edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVisible (true)}}

산출:

JComboBox 클래스

JComponent 클래스를 상속하고 선택 팝업 메뉴를 표시하는 데 사용됩니다.

import javax.swing. * public class Example {JFrame a Example () {a = new JFrame ( 'example') string course [] = { 'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (코스) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args [] ) {new Example ()}}

산출:

레이아웃 관리자

컨테이너 내부의 구성 요소를 배열하기 위해 레이아웃 관리자를 사용합니다. 다음은 몇 가지 레이아웃 관리자입니다.

  1. 테두리 레이아웃

  2. 흐름 레이아웃

  3. GridBag 레이아웃

테두리 레이아웃

모든 JFrame의 기본 레이아웃 관리자는 BorderLayout입니다. 구성 요소를 위쪽, 아래쪽, 왼쪽, 오른쪽 및 중앙의 최대 5 개 위치에 배치합니다.

셀레늄에서 팝업을 처리하는 방법

흐름 레이아웃

FlowLayout은 단순히 구성 요소를 차례로 배치하며 모든 JPanel의 기본 레이아웃 관리자입니다.

GridBag 레이아웃

GridBagLayout은 구성 요소가 둘 이상의 셀에 걸쳐있을 수 있도록 그리드에 구성 요소를 배치합니다.

예 : 채팅 프레임

import javax.swing. * import java.awt. * class 예제 {public static void main (String args []) {JFrame frame = new JFrame ( 'Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = new JMenu ( 'FILE') JMenu ob2 = new JMenu ( 'Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = new JMenuItem ( 'Open ') JMenuItem m22 = new JMenuItem ('다른 이름으로 저장 ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // 패널이 출력에 표시되지 않음 JLabel label = new JLabel ('텍스트 입력 ') JTextField tf = new JTextField (10) // 10 자까지 허용 JButton send = new JButton ('Send ') JButton reset = new JButton ('Reset ') panel.add (label) // Flow Layout 패널을 사용하여 추가 된 구성 요소 .add (label) // Flow Layout을 사용하여 추가 된 구성 요소 panel.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). add (BorderLayout.NORTH, tf) frame.getContentPane (). add (Border Layout.CENTER, ta) frame.setVisible (true)}}

이것은 Java에서 스윙을 사용하여 GUI를 만드는 간단한 예입니다.

이 기사에서는 Java 스윙 클래스와 Java 스윙 클래스 계층 구조에 대해 설명했습니다. Java에서 스윙과 함께 제공되는 모든 구성 요소를 사용하면 최적화 된 GUI 응용 프로그램을 쉽게 구축 할 수 있습니다. Java 프로그래밍 언어는 구조화 된 프로그래밍 언어이며 수요가 증가함에 따라 모든 개념을 마스터하는 것이 매우 중요해집니다. . 학습을 시작하고 자바 프로그래밍 전문가가 되려면 Edureka의 .

질문이 있으십니까? 이 'Swing In Java'기사의 댓글 섹션에서이를 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.