안녕하세요.
지난시간에는 지정해준 레이아웃에 따라 버튼의 위치와 크기가 자동으로 정해진다는 점을 배웠습니다.
이제 버튼의 위치와 크기를 원하는대로 정해줄까 하는데요, 그러기 위해서는 레이아웃을 null로 지정해줄 필요가 있습니다. 레이아웃이 없다는 뜻이죠. 코드를 보겠습니다.
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 32 33 34 35 | // Study01.java package study; import javax.swing.JFrame; public class Study01 { public static void main(String[] args) { // 프레임 생성 JFrame frm = new JFrame("슬라임 퇴치하기"); // 프레임 크기 설정 frm.setSize(350, 300); // 프레임을 화면 가운데에 배치 frm.setLocationRelativeTo(null); // 프레임을 닫았을 때 메모리에서 제거되도록 설정 frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // ★ 레이아웃 설정 frm.getContentPane().setLayout(null); // 프레임이 보이도록 설정 frm.setVisible(true); // ★ 컨텐츠 영역의 크기 표시 System.out.println(frm.getContentPane().getSize()); } } | cs |
(기존의 버튼 코드는 싹 지웠습니다. 30행은 조금 있다가 설명 드릴게요)
이제 종이나 그림판 등을 꺼내어 프레임의 설계도를 그려봅시다(저는 파워포인트로 했습니다). 대략 아래와 같은 모습이 되겠죠.
프레임에다가 버튼 두개를 배치해 놓은 그림입니다. 아직 치수는 기입해놓지 않았는데요, 빨갛게 표시해놓은 전체 가로길이와 세로길이는 몇일까요?
350, 300으로 착각하기 쉽지만 이건 전체 프레임의 크기이며 컨텐츠 영역의 크기는 그보다 조금 작습니다.
아까 코드의 30행이 바로 컨텐츠 영역의 크기를 표시하는 코드입니다. 콘솔창을 한번 봐주세요.
java.awt.Dimension[width=334,height=261]
가로가 334, 세로가 261이군요. 제목표시줄 때문에 세로길이가 생각보다 작음을 알 수 있습니다.
자, 이제 치수를 기입해보겠습니다.
강좌가 진행되면서 치수가 바뀔 수도 있습니다만 일단 이렇게 구상하고 진행하도록 하겠습니다.
다음시간에는 이렇게 구상해놓은 것을 코드로 구현해보도록 하겠습니다.
감사합니다.
'자바로 게임 만들기' 카테고리의 다른 글
[자바로 게임 만들기] 46. 라벨 배치하기 (2) | 2019.02.26 |
---|---|
[자바로 게임 만들기] 45. 버튼 마음대로 배치하기 (2) | 2019.02.25 |
[자바로 게임 만들기] 43. 레이아웃 (0) | 2019.02.21 |
[자바로 게임 만들기] 42. 버튼 만들기 (0) | 2019.02.20 |
[자바로 게임 만들기] 41. 윈도우 만들기 (0) | 2019.02.19 |