Sun의 정리정돈

[11/50]JAVA1-5.a. 데스크톱 애플리케이션 만들기 본문

BackEnd/Java

[11/50]JAVA1-5.a. 데스크톱 애플리케이션 만들기

Sunday31 2022. 10. 17. 17:17

https://github.com/egoing/java1/blob/master/HelloWorldGUI/HelloWorldGUIApp.java

 

GitHub - egoing/java1

Contribute to egoing/java1 development by creating an account on GitHub.

github.com

 

위의 egoing님의 깃허브에서 데스크톱 애플리케이션 만들기 예제 소스코드를 확인할수 있다. 그 코드는 아래와 같다.

import javax.swing.*;   
import java.awt.Dimension;
import java.awt.Toolkit;
public class HelloWorldGUIApp{
    public static void main(String[] args){
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new JFrame("HelloWorld GUI");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setPreferredSize(new Dimension(800, 300));
                JLabel label = new JLabel("Hello World!!", SwingConstants.RIGHT);
                frame.getContentPane().add(label);
                Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
                frame.setLocation(dim.width/2-400/2, dim.height/2-300/2);

                frame.pack();
                frame.setVisible(true);
            }
        });
    }
}

이를 실행시키면,

 

새 윈도우 창이 뜨면서 new JLabel() 안에 있던 문자열이 출력되었다.

 

모든 것에는 인과관계가 있다. 위 소스코드들은 원인이고 새 윈도우 창(애플리케이션)은 결과다.
원인들을 조금 더 건드려보기로 한다.

 

Dimension, SwingConstants.을 건드려보자

Dimension(400, 300)은 무엇일까? 만약 이를 (800, 300)으로 변경한다면 무엇이 변하게 될까?

Dimension(400, 300)은 애플리케이션, 새 윈도우 창의 (가로, 세로) 길이였다. 윈도우 창의 가로 길이가 800픽셀로 길게 늘어난 것을 확인할 수 있다.

 

이번에는 SwingConstants.(CENTER)을 본다. 괄호 안에는 CENTER가 적혀있다. 이번엔 무엇이 센터인지 짐작하기 위해 이를 RIGHT로 바꾸어 입력해보자.

new JLabel("Hello World!!")의 값이 오른쪽에서 출력된 것을 확인할 수 있다.

 

Comments