티스토리 뷰
Frame
GUI 환경에서 사용자에게 화면을 보이게 해주어야 한다. 이때 사용하는 게 frame.setVisible(true); 이다.
setVisible의 기본 디폴트 값은 false 이므로 frame.setVisible(true); 로 해주었다.
true 로 해주지 않으면 보이지 않는다. 다음으로 컴퓨터마다 보이는 화면이 다르므로 화면의 비율을 설정해 주는 클래스가 Dimesion이다.
일반적으로 사용하는 디스플에이 비율이 4 : 3 이므로 frame.setPreferredSize(new Dimension( 840 , 840/12*9)); 으로 해주었다
frame.setPreferredSize는 화면 크기가 어떻든 간에 최대한 4 : 3 비율에 가깝도록 화면을 만들어 준다.
다음으로 화면을 출력해주려면 화면의 크기를 지정해 주어야 한다.
이때 frame.setSize(840, 840/12*9); 라는 클래스를 사용한다. frame.setSize( Width , Height ); 원하는 크기로Width와 Height를 세팅해준다.
화면을 실행을 하고나서 화면을 닫았음에도 불구하고 데몬으로 인해서 백그라운드에서는 지속적으로 프로그램이 계속 돌아가고 있다.
만약 화면을 닫았으면 프로그램도 같이 종료될 수 있도록 하기 위해서는frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 클래스를 사용해 주어야 한다.
프로그램 화면이 닫히면 동시에 프로그램 도 같이 종료되도록 해준다. 다음으로 화면을 재생했을 때 처음에 나오는 화면의 위치는 왼쪽 위 일 것이다.
이때 화면이 가운데에서 출력되도록 하려면 frame.setLocationRelativeTo(null); 클래스를 사용해 주어야 한다. 어떤 위치에서 GUI를 출력해줄 것인가 인데 null로 해주면 가운데에서 출력을 해준다.
frame을 생성했을 때 화면 크기를 사용자가 조절할 수 있도록 하거나 못하게 하거나 설정할 수 있다.
frame.setResizable(false); true로 하면 화면 크기를 조절할 수 있다. 그러나 false로 설정하면 마음대로 화면의 크기를 조절할 수 없게 된다.
위에서 배운 것을 정리해보자
- frame.setVisible(true);
- frame.setPreferredSize(new Dimension( 840 , 840/12*9));
- frame.setSize( Width , Height );
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setLocationRelativeTo(null);
- frame.setResizable(Boolean);
이것으로 가장 기초 기본적인 Frame 생성 방법을 정리해보았다.
panel
frame 은 화면을 생성하는 기본적인 tool이라면 panel 은 그 화면 사이사이에 여러 가지를 넣을 수 있도록해준다.
어떤 섹터에는 이런 기능을 다른 섹터에는 저런 기능을 또는 어떠한 값을 쉽게 넣을 수 있도록해주고 쉽게 닫을 수 있게 해 준다. frame과 비슷하지만 frame 안에서 또 frame을 만들어 주는 그런 역할을 하는 게 panel이다.
JPanel panel =new JPanel(); 을 사용하여 frame 안에서 여러 가지 frame을 사용할 수 있도록 해준다.
panel을 생성했다고 해서 자동으로 frame 안으로 들어 가는 것이 아니다. add 를 이용해서 frame안에 panel 을 직접 넣어주어야 한다. eg) frame.add(panel);
예를 들어서 panel에 문자열을 넣어 보겠다. panel.add(new JLabel("Welcome to the RealWorld")); 분명 panel 안에 문자열을 넣어 주었지만 panel을 다시 frame에 넣어 줌으로써 화면에 잘 출력되고 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import java.awt.Dimension;
public class Main {
public static void main(String[] args) {
JFrame frame =new JFrame();
JPanel panel = new JPanel();
panel.add(new JLabel("Welcome to the RealWorld"));
frame.add(panel);
frame.setResizable(false);
frame.setVisible(true);
frame.setPreferredSize(new Dimension( 840 , 840/12*9));
frame.setSize(840, 840/12*9);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
repl.it 환경을 이용하였습니다.
'Java Swing 기초 ' 카테고리의 다른 글
4강 Swing 에서 간단한 Log in 프로그램 만들기 (0) | 2019.05.09 |
---|---|
3강 JButton기능 추가하기 & JPanel 기초 응용 (0) | 2019.05.08 |
2강 JLabel, JButton, JTextArea, BorderLayout 사용하기 (0) | 2019.05.08 |
- Total
- Today
- Yesterday
- 라오킹전사
- php
- 백트레킹
- 플로이드
- KVK4
- 그래프
- 그리디
- 이분매칭
- 사이클
- 다익스트라
- 라이즈오브킹덤즈
- 이분 매칭
- CSS
- JavaSwing
- greedy
- BFS
- 그리디알고리즘
- 정렬
- dfs
- 백트래킹
- 사이크
- A
- HTML
- stri
- #스페인어 #스페인어인강 #스페인어공부 #시원스쿨스페인어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |