성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و

[Java Swing]Java Swing 본문

백엔드개발/JAVA

[Java Swing]Java Swing

hyemi_flora 2023. 11. 30. 17:24

                 # JavaSwing _ 1107 수업내용

                 - 프로젝트 용 / 발전하여 핸드폰 앱을 만만드는 것 까지 나아갔다.

                 - java GUI(Graphic User Interface) 프로그램을 만들수 있는 API

                 - GUI : 컴퓨터 화면을 이미지로 제어할 수 있는 환경을 의미

                 

                 # Swing Container

                 - 컨테이너 위에는 여러가지 컴포넌트들을 배치할 수 있다

                 - JFrame, JPanel, JDialog 등 컨테이너로 분류되는 다양한 클래스들이 존재

                 

                 # Swing Component

                 - 컨테이너 위에 배치할 수 있는 객체들

                 - 버튼, 라벨, , 체크박스 등 컴포넌트로 분류되는 다양한 클래스 존재

                 

                 


 

 

package gui;

 

import javax.swing.JFrame;

 

public class G01_JavaSwing {

        

        public static void main(String[] args) {

                

 

//JFrame : 대표적인 컨테이너 /초기에는 보이지 않는 상태

                JFrame frame = new JFrame();

 

                

 

    frame.setTitle("My GUI Program"); // 제목설정

                frame.setLocation(100, 100); // 초기 위치 설정

                frame.setSize(500, 500); // 초기 크기를 설정

                frame.setVisible(true); // 프레임을 보이는 상태로 설정

 

 

창을 닫아도 콘솔 창에서는 계속 돌아가는 상태이다.

창을 닫는 행위가 현재는 잠시 숨기는 것이기 때문이다.

 

 

                // 프레임의 x버튼을 눌렀을때 동작을 설정하는 메서드

                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 설정해줘야  x버튼을 눌렀을때 창이 아예 닫힘을 있다.

                //frame.setDefaultCloseOperation(WindowConstants.);

                /*

                        DO_NOTHING_ON_CLOSE : 눌러도 아무것도 하지 않는다

            HIDE_ON_CLOSE  : 누르면 창을 숨김

            DISPOSE_ON_CLOSE :누르면 해당 창만 종료, 프로그램은 종료하지 않는다.(기본값)

            EXIT_ON_CLOSE : 누르면 프로그램 종료

*/

 

 

 

 

                // 해당 프레임의 레이아웃 관리자를 설정

                // 레이아웃 관리자 : 컴포넌트를 부착할 때 위치를 제어해주는 클래스

                frame.setLayout(null);

 

 

// ##컴포넌트

                //JButton : 여러 컴포넌트들 중 한 종류로 버튼의 역할

                JButton button1 = new JButton();

                

                //만든 컴포넌트를 프레임에 부착해야한다.

                frame.add(button1);

 

                

JButton Jframe 상속받고 있기 때문

 

                

                //만든 컴포넌트를 프레임에 부착해야한다.

                frame.add(button1);

                button1.setSize(150,80);

                button1.setText("<html>저는 버튼입니다~ <br>click...</html>"); //Swing의 일부 컴포넌트 라벨에서 html이 동작한다

                //https://stackoverflow.com/questions/13503280/new-line-n-is-not-working-in-jbutton-settextfnord-nfoo

                button1.setLocation(300,300);

                

 

 

 

 

        }

        

}

 

 

 

'백엔드개발 > JAVA' 카테고리의 다른 글

[Java Swing]GridLayout  (0) 2023.11.30
[Java Swing]레이아웃 관리자 (Layout Manager) / BorderLayout  (0) 2023.11.30
While  (0) 2023.11.09
Break, Continue  (1) 2023.11.09
Java CharAt()메서드 / 문자열  (2) 2023.11.09