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);
}
});
}
}
이를 실행시키면,
모든 것에는 인과관계가 있다. 위 소스코드들은 원인이고 새 윈도우 창(애플리케이션)은 결과다.
원인들을 조금 더 건드려보기로 한다.
Dimension(400, 300)은 무엇일까? 만약 이를 (800, 300)으로 변경한다면 무엇이 변하게 될까?
Dimension(400, 300)은 애플리케이션, 새 윈도우 창의 (가로, 세로) 길이였다. 윈도우 창의 가로 길이가 800픽셀로 길게 늘어난 것을 확인할 수 있다.
이번에는 SwingConstants.(CENTER)을 본다. 괄호 안에는 CENTER가 적혀있다. 이번엔 무엇이 센터인지 짐작하기 위해 이를 RIGHT로 바꾸어 입력해보자.
new JLabel("Hello World!!")의 값이 오른쪽에서 출력된 것을 확인할 수 있다.