산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java Swing 튜토리얼:Java에서 GUI 애플리케이션을 만드는 방법

자바에서 스윙이란 무엇입니까?

자바 스윙 GUI 구성 요소를 포함하는 GUI(그래픽 사용자 인터페이스) 툴킷입니다. Swing은 Java 애플리케이션을 위한 정교한 GUI 구성 요소를 만들기 위한 풍부한 위젯 및 패키지 세트를 제공합니다. Swing은 GUI를 제공하는 Java GUI 프로그래밍용 API인 JFC(Java Foundation Classes)의 일부입니다.

Java Swing 라이브러리는 Java Abstract Widget Toolkit(AWT ), 이전의 플랫폼 종속 GUI 툴킷. 버튼, 텍스트 상자 등과 같은 Java 간단한 GUI 프로그래밍 구성 요소를 라이브러리에서 사용할 수 있으며 구성 요소를 처음부터 만들 필요가 없습니다.

이 Java Swing 자습서에서는 다음과 같은 Java GUI 기본 사항을 배웁니다.

자바 스윙 클래스 계층 구조 다이어그램

<중앙>

<그림>

Java Swing의 모든 컴포넌트는 컨테이너 클래스에 추가할 수 있는 JComponent입니다.


컨테이너 클래스란 무엇입니까?

컨테이너 클래스는 다른 구성 요소를 가질 수 있는 클래스입니다. 따라서 Java Swing GUI를 생성하려면 적어도 하나의 컨테이너 객체가 필요합니다. 자바 스윙 컨테이너는 3가지 종류가 있습니다.

  1. 패널 :순수한 컨테이너이며 그 자체로 창이 아닙니다. 패널의 유일한 목적은 구성 요소를 창에 구성하는 것입니다.
  2. 프레임 :제목과 아이콘이 있는 완전한 기능의 창입니다.
  3. 대화 :메시지를 표시해야 할 때 팝업창이 뜨는 것과 같다고 생각하시면 됩니다. 프레임처럼 제대로 작동하는 창은 아닙니다.

자바에서 GUI란 무엇입니까?

자바의 GUI(그래픽 사용자 인터페이스) Java 애플리케이션을 위한 사용하기 쉬운 시각적 경험 빌더입니다. 주로 사용자가 응용 프로그램과 상호 작용할 수 있는 버튼, 레이블, 창 등과 같은 그래픽 구성 요소로 구성됩니다. GUI는 Java 애플리케이션을 위한 쉬운 인터페이스를 구축하는 데 중요한 역할을 합니다.

예제를 사용하여 Java에서 GUI를 만드는 방법

이제 이 Java GUI Tutorial에서 Swings in Java 예제를 사용하여 Java에서 GUI를 만드는 방법을 이해해 보겠습니다.

1단계) 편집기에 코드 복사
첫 번째 단계에서 다음 코드를 편집기에 복사합니다.

import javax.swing.*;
class gui{
    public static void main(String args[]){
       JFrame frame = new JFrame("My First GUI");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setSize(300,300);
       JButton button = new JButton("Press");
       frame.getContentPane().add(button); // Adds Button to content pane of frame
       frame.setVisible(true);
    }
}

2단계) 코드 실행
다음 단계, 코드 저장, 컴파일 및 실행

3단계) 다음 코드를 편집기에 복사합니다.
이제 프레임에 버튼을 추가해 보겠습니다. 주어진 Java UI 예제에서 편집기로 다음 코드 복사

import javax.swing.*;
   class gui{
      public static void main(String args[]){
        JFrame frame = new JFrame("My First GUI");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,300);
       JButton button1 = new JButton("Press");
       frame.getContentPane().add(button1);
       frame.setVisible(true);
     }
}


4단계) 코드 실행
다음, 코드를 실행합니다. 큰 버튼이 생깁니다.

5단계) 두 개의 버튼 추가
두 개의 버튼을 추가하는 것은 어떻습니까? 다음 코드를 편집기에 복사합니다.

import javax.swing.*;
class gui{
      public static void main(String args[]){
           JFrame frame = new JFrame("My First GUI");
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.setSize(300,300);
          JButton button1 = new JButton("Button 1");
          JButton button2 = new JButton("Button 2");
          frame.getContentPane().add(button1);
          frame.getContentPane().add(button2);
          frame.setVisible(true);
     }
}

6단계) 프로그램 저장 및 실행
다음으로 프로그램을 저장, 컴파일 및 실행합니다.

7단계) 출력 확인
예기치 않은 출력 =? 버튼이 겹칩니다.

자바 레이아웃 관리자

레이아웃 관리자는 컨테이너 내부의 GUI Java 구성 요소를 레이아웃(또는 정렬)하는 데 사용됩니다. 많은 레이아웃 관리자가 있지만 가장 자주 사용되는 것은-

자바 테두리 레이아웃

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

<중앙>

<그림>

자바 FlowLayout


FlowLayout 모든 JPanel의 기본 레이아웃 관리자입니다. . 구성 요소를 한 행에 차례로 배치하기만 하면 됩니다.

<중앙>

<그림>

자바 그리드백 레이아웃

모든 레이아웃 중 더 정교합니다. 구성 요소를 셀 그리드 내에 배치하여 구성 요소를 정렬하여 구성 요소가 둘 이상의 셀에 걸쳐 있도록 합니다.

<중앙>

<그림>

8단계) 채팅 프레임 만들기
아래와 같이 채팅 프레임을 만들어 보는 것은 어떨까요?

아래 프로그램을 보기 전에 직접 코딩해 보세요.

//Usually you will require both swing and awt packages
// even if you are working with just swings.
import javax.swing.*;
import java.awt.*;
class gui {
    public static void main(String args[]) {

        //Creating the Frame
        JFrame frame = new JFrame("Chat Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);

        //Creating the MenuBar and adding components
        JMenuBar mb = new JMenuBar();
        JMenu m1 = new JMenu("FILE");
        JMenu m2 = new JMenu("Help");
        mb.add(m1);
        mb.add(m2);
        JMenuItem m11 = new JMenuItem("Open");
        JMenuItem m22 = new JMenuItem("Save as");
        m1.add(m11);
        m1.add(m22);

        //Creating the panel at bottom and adding components
        JPanel panel = new JPanel(); // the panel is not visible in output
        JLabel label = new JLabel("Enter Text");
        JTextField tf = new JTextField(10); // accepts upto 10 characters
        JButton send = new JButton("Send");
        JButton reset = new JButton("Reset");
        panel.add(label); // Components Added using Flow Layout
        panel.add(tf);
        panel.add(send);
        panel.add(reset);

        // Text Area at the Center
        JTextArea ta = new JTextArea();

        //Adding Components to the frame.
        frame.getContentPane().add(BorderLayout.SOUTH, panel);
        frame.getContentPane().add(BorderLayout.NORTH, mb);
        frame.getContentPane().add(BorderLayout.CENTER, ta);
        frame.setVisible(true);
    }
}

java

  1. Azure에 Java EE 앱을 배포하는 방법
  2. VHDL에서 문자열 목록을 만드는 방법
  3. Java Arrays Tutorial:선언, 생성, 초기화 [예시]
  4. Java에서 객체 배열을 만드는 방법
  5. Java에서 난수를 생성하는 방법
  6. Java BufferedReader:예제를 사용하여 Java에서 파일을 읽는 방법
  7. Java에서 Char를 문자열로 변환하는 방법(예제)
  8. 재귀를 사용하여 Java에서 문자열을 뒤집는 방법
  9. Java 10 - 클래스 데이터 공유
  10. C#에서 간단한 PLCnext 콘솔 애플리케이션을 만드는 방법