자바

JAVA로 만드는 GUI - 초보편

남녀칠세부동산! 2024. 4. 2. 16:58

1. 스윙(swing) 라이브러리의 JFrame. 이곳에서 도움을 얻을 수 있다.

JAVA에는 GUI 응용 프로그램 작성을 지원하기 위해 AWT이 있지만, 운영체제마다 다르게 나오는 문제가 있어서 이를 개선한 것이 스윙(swing) 라이브러리다.

 

https://wikidocs.net/208032

 

B-2. 자바 SWING 기초

자바 Swing은 JDK에 포함되어 있는 GUI개발용 라이브러리로 다양한 컴포넌트(버튼, 텍스트필드 등)와 이벤트 처리 구현이 가능한 클래스, 메서드를 제공합니다. ## 스윙 …

wikidocs.net

 

https://www.geeksforgeeks.org/java-jframe/

 

Java JFrame - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

 

2. JAVA로 하는 GUI화면을 연습해보자

import javax.swing.JFrame;

public class AA {
    static class MyGUI extends JFrame{
        MyGUI(){
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("GUI 연습");
            setSize(500,500);
            setVisible(true);
        }
    }

    public static void main(String[] args){
        new MyGUI();
    }
}

import로 swing 라이브러리의 JFrame객체를 부른다는 걸 잊지 말자.

가로X세로 500px짜리 화면이 만들진 것을 볼 수 있다.

 

3. 화면에 버튼을 얹어보자

import java.awt.*;
import javax.swing.*;


public class AA {
    static class MyGUI extends JFrame{
        MyGUI(){
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("Flow Layout 연습");

            this.setLayout(new FlowLayout());

            JButton btn1 = new JButton("버튼1");
            this.add(btn1);
            JButton btn2 = new JButton("버튼2");
            this.add(btn2);
            JButton btn3 = new JButton("버튼3");
            this.add(btn3);
            JButton btn4 = new JButton("버튼4");
            this.add(btn4);


            setSize(500,500);
            setVisible(true);
        }
    }

    public static void main(String[] args){
        new MyGUI();
    }
}

 

3. 버튼의 사이즈와 위치를 조절해볼까

import java.awt.*;
import javax.swing.*;


public class AA {
    static class MyGUI extends JFrame{
        MyGUI(){
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("Border Layout 연습");
            
            this.setLayout(new BorderLayout(10,10));
            //수평 수직 간격을 10을 줬음.

            JButton btn1 = new JButton("버튼1");
            this.add(btn1, BorderLayout.NORTH);
            JButton btn2 = new JButton("버튼2");
            this.add(btn2, BorderLayout.WEST);
            JButton btn3 = new JButton("버튼3");
            this.add(btn3, BorderLayout.CENTER);
            JButton btn4 = new JButton("버튼4");
            this.add(btn4, BorderLayout.EAST);
            JButton btn5 = new JButton("버튼5");
            this.add(btn5, BorderLayout.SOUTH);


            setSize(500,500);
            setVisible(true);
        }
    }

    public static void main(String[] args){
        new MyGUI();
    }
}