logo

자바 스윙 튜토리얼

자바 스윙 튜토리얼 JFC(Java Foundation Classes)의 일부입니다. 창 기반 응용 프로그램을 만드는 데 사용됩니다. . AWT(Abstract Windowing Toolkit) API를 기반으로 구축되었으며 전체가 Java로 작성되었습니다.

AWT와 달리 Java Swing은 플랫폼 독립적이고 가벼운 구성 요소를 제공합니다.

javax.swing 패키지는 JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser 등과 같은 Java 스윙 API용 클래스를 제공합니다.

자바 스레드 생성

AWT와 스윙의 차이점

아래에 제시된 Java awt와 Swing 사이에는 많은 차이점이 있습니다.

아니요.자바 AWT자바 스윙
1)AWT 구성요소는 플랫폼에 따라 다름 .Java 스윙 구성 요소는 플랫폼 독립적 .
2)AWT 구성요소는 헤비급 선수 .스윙 구성 요소는 경량 .
삼)AWT 플러그형 모양과 느낌을 지원하지 않습니다. .그네 플러그형 모양과 느낌 지원 .
4)AWT가 제공하는 더 적은 구성 요소 스윙보다스윙이 제공하는 더욱 강력한 구성요소 테이블, 목록, 스크롤 창, 색상 선택기, 탭 창 등과 같은
5)AWT MVC를 따르지 않습니다 (Model View Controller) 모델은 데이터를 나타내고, 뷰는 표현을 나타내며, 컨트롤러는 모델과 뷰 사이의 인터페이스 역할을 합니다.그네 MVC를 따릅니다. .

JFC란 무엇인가?

JFC(Java Foundation Classes)는 데스크탑 애플리케이션 개발을 단순화하는 GUI 구성요소 세트입니다.

당신은 알고 있습니까?
  • Java에서 실행 가능한 jar 파일을 만드는 방법은 무엇입니까?
  • 스윙의 버튼에 이미지를 표시하는 방법은 무엇입니까?
  • ColorChooser에서 색상을 선택하여 구성 요소 색상을 변경하는 방법은 무엇입니까?
  • 스윙 튜토리얼에서 디지털 시계를 표시하는 방법은 무엇입니까?
  • 스윙에서 메모장을 만드는 방법은 무엇입니까?
  • 스윙에서 퍼즐 게임과 그림 퍼즐 게임을 만드는 방법은 무엇입니까?
  • 스윙에서 tic tac toe 게임을 만드는 방법은 무엇입니까?

Java Swing 클래스의 계층 구조

Java Swing API의 계층 구조는 다음과 같습니다.

데이터 프레임을 만드는 팬더
javax 스윙의 계층 구조

Component 클래스의 일반적으로 사용되는 메소드

Component 클래스의 메소드는 아래와 같은 Java Swing에서 널리 사용됩니다.

방법설명
공공 무효 추가(구성 요소 c)다른 구성 요소에 구성 요소를 추가합니다.
공개 무효 setSize(int 너비, int 높이)구성 요소의 크기를 설정합니다.
공공 무효 setLayout(LayoutManager m)구성요소의 레이아웃 관리자를 설정합니다.
공공 무효 setVisible(부울 b)구성요소의 가시성을 설정합니다. 기본적으로 거짓입니다.

자바 스윙 예

프레임을 만드는 방법에는 두 가지가 있습니다.

  • Frame 클래스(Association)의 객체를 생성하여
  • Frame 클래스 확장(상속)

main(), 생성자 또는 기타 메소드 내부에 스윙 코드를 작성할 수 있습니다.


간단한 Java 스윙 예제

하나의 버튼을 생성하고 이를 main() 메소드 내부의 JFrame 객체에 추가하는 간단한 스윙 예제를 살펴보겠습니다.

파일: FirstSwingExample.java

 import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40);//x axis, y axis, width, height f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } } 

생성자 내부의 Swing by Association 예

또한 JFrame, JButton 및 메소드 호출을 생성하는 모든 코드를 Java 생성자 내부에 작성할 수도 있습니다.

스크립트를 실행 가능하게 만들기

파일: Simple.java

수학 펑 자바
 import javax.swing.*; public class Simple { JFrame f; Simple(){ f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40); f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } public static void main(String[] args) { new Simple(); } } 

setBounds(int xaxis, int yaxis, int width, int height)는 버튼의 위치를 ​​설정하는 위의 예에서 사용되었습니다.


상속을 통한 Swing의 간단한 예

JFrame 클래스를 상속할 수도 있으므로 JFrame 클래스의 인스턴스를 명시적으로 생성할 필요가 없습니다.

파일: Simple2.java

 import javax.swing.*; public class Simple2 extends JFrame{//inheriting JFrame JFrame f; Simple2(){ JButton b=new JButton('click');//create button b.setBounds(130,100,100, 40); add(b);//adding button on frame setSize(400,500); setLayout(null); setVisible(true); } public static void main(String[] args) { new Simple2(); }} 
이 예제를 다운로드하세요. Swing Tutorial에서 배울 내용
  • JButton 클래스
  • JRadioButton 클래스
  • JTextArea 클래스
  • JComboBox 클래스
  • JTable 클래스
  • JColorChooser 클래스
  • JProgressBar 클래스
  • JSlider 클래스
  • 디지털 시계
  • 스윙의 그래픽
  • 이미지 표시 중
  • 메모장의 메뉴 코드 편집
  • 열기대화 상자
  • 메모장
  • 퍼즐 게임
  • 그림 퍼즐 게임
  • 틱택토 게임
  • 테두리 레이아웃
  • 그리드 레이아웃
  • 흐름 레이아웃
  • 카드 레이아웃