w그래픽을 활용한 자바 : 체크박스 만들기와 그룹의 생성에 대해서 알아보도록 하겠습니다. 이전에 제가 GUI 그래픽을 활용한 자바에서 창의 크기와 위치를 설정하는 값을 만들었죠? 아직까지 자바의 체크박스를 만들지 못했다면, 아래의 링크를 확인해 보세요.
그래픽을 활용한 자바 : GUI 창 위치와 크기 설정하기
그래픽을 활용한 자바 : GUI 창 위치와 크기 설정하기
그래픽을 활용한 자바 : GUI 창 위치와 크기 설정하려면 입력 값을 어떻게 해야 할까요? 천천히 작성해 보도록 하겠습니다. GUI는 Grahic User Interface의 줄임말로 사용자가 마우스나 키보드를 이용하
154mvi.1lia.com
오늘은 이러한 창 위에 체크박스를 만들어보도록 할게요. 여러분들은 체크박스는 어떨 때 사용하나요? MBTI 검사 설문에 참여할 때? 아니면, 좋아하는 음식 메뉴를 선택할 때? 어떨 때 주로 사용하시는 것 같나요? 대부분의 기업의 경우에는 만족도 조사를 활용할 때 많이 사용하고는 하죠?
머리말
그럼 자바를 배우는 입장에서 이런 명령어라도 휙 지나치는 것이 아니라 어떤 구조로 이루어져 있는지 정확히 볼 필요가 있을 듯싶어요. 그래서 오늘은 창에 대한 내용을 간단하게 짚고 나가볼게요.
저의 경우에는 자바에서 그래픽 작업을 할 때는 반드시 기본 값 설정을 먼저 시작한답니다. 첫 번째 자바의 import 값에 swing.*;을 설정해 주는 것이죠. 그리고 창의 위치, 크기, 보이기, 종료를 미리 세팅한 후 작업에 들어갑니다. 아래의 더보기란에 초기 세팅 값을 입력해 놨습니다.
package GUI;
import javax.swing.*;
public class GUIMain
{ public static void main(String [] args) {
JFrame win = new JFrame
win.setBounds(300, 300, 400, 400);
<저는 이 사이에 값을 입력하기 시작합니다. >
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setVisible(true); } }
첫 번째 : 체크박스를 만들기 전에 화면의 배치를 먼저 생각하자
우리가 체크박스를 만드는 것을 생각해서, 화면에 어떻게 배치될 것인지 생각하지 않고, 체크박스의 객체를 만들어 윈도 창에 띄워버리게 된다면, 우리가 평소에 보았던 예쁘고 깔끔한 창은 나오지 않게 됩니다. 이런 식으로 요.
* 체크박스의 객체를 만들어 햄버거라는 입력값을 넣었을 때입니다. 이런 사진을 본다면 정돈되지 못한 느낌이 보이죠? 더군다나 실제 코드 값의 경우에는 체크박스의 객체가 세 개입니다 실제 입력값은 "치킨", "피자", "햄버거"이죠. 그런데 다른 값들은 모두 덮어버리고, "햄버거"라는 입력값이 나오게 되는 것을 보실 수 있습니다.
Checkbox check1 = new Checkbox("치킨");
Checkbox check2 = new Checkbox("피자");
Checkbox check3 = new Checkbox("햄버거");
그렇기 때문에 우리는 위의 체크박스 객체를 생성하기 전에 화면 배치를 먼저 해줘야 하는 것인데요. 이 때는 FlowLayout을 사용해서 화면을 배치해 줍니다. 간단히 나열해 주는 정도로만 작성해 보겠습니다.
FlowLayout flow = new FlowLayout();
setLayout(flow);
위의 코드를 다시 한번 보시면 flowLayout의 변수를 만들고, 그리고 setLayOut 명령어를 통해 변수 flow를 불러온 것을 볼 수 있습니다. 이러한 flowLayOut의 경우에는, 한 줄에 여러 변수를 나열할 수 있도록 도와주는데요. 이 값을 지정해 준다면
이렇게 제가 설정해 놓은 변수들이(체크박스들이) 한 줄로 나열한 것을 볼 수 있답니다.
두 번째 : 체크된 형태로 유지하고 싶을 때는 어떻게 해야 할까?
이렇게 마무리가 되어버린다면, 햄버거라는 객체에 머물러 있던 체크 표시가 피자라는 객체를 누르자마자 체크 표시를 사라지게 될 것입니다. 그러니, 햄버거와 피자 모두 체크를 하고 싶을 때는 어떻게 해야 할지 다시 한번 생각해보도록 하겠습니다. 가장 먼저 해야할 것은 그룹을 생성하는 것인데요.
CheckboxGroup group = new CheckboxGroup();
이런 식으로 체크박스 그룹과 변수 이름(group으로 설정해 주었습니다)을 지정해 줍니다. 그런 후 체크박스에 표시될 내용에, true와 false를 함께 사용해 줍니다.
Checkbox check4 = new Checkbox("치킨",true);
Checkbox check5 = new Checkbox("피자",false);
Checkbox check6 = new Checkbox("햄버거",false);
체크여부는 기본적으로 false 상태를 유지하게 되어있는데요. 체크박스를 한 상태를 유지하고 싶을 때는 객체 옆에 ture를 작성해서 유지해 줍니다. 그리고 윈도 창에 보여주기 위해서 추가를 해서 마무리를 해주면 되는데요. 아래와 같이 정리해 주면 됩니다.
add(check4); add(check5); add(check6);
코드정리
class MyFrame extends JFrame {
MyFrame() {
setBounds(700, 300, 400, 400);
FlowLayout flow = new FlowLayout();
setLayout(flow);
Checkbox check1 = new Checkbox("치킨");
Checkbox check2 = new Checkbox("피자");
Checkbox check3 = new Checkbox("햄버거");
CheckboxGroup group = new CheckboxGroup();
Checkbox check4 = new Checkbox("치킨",true);
Checkbox check5 = new Checkbox("피자",false);
Checkbox check6 = new Checkbox("햄버거",false);
add(check4); add(check5); add(check6);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
'JAVA' 카테고리의 다른 글
ArrayList (1) : 제네릭기법의 특징과 ArrayList 의 특징 (0) | 2023.11.06 |
---|---|
JAVA에서 MySQL의 데이터를 연결하자 #2 값 입력 : PrintStackTrace (0) | 2023.10.31 |
JAVA에서 MySQL의 데이터를 연결하자 #1 Connection (0) | 2023.10.30 |
그래픽을 활용한 자바 : GUI 창 위치와 크기 설정하기 (1) | 2023.10.26 |
댓글