본문 바로가기

Stupid Computer/3. Java

[자바,이클립스] Joptionpane 대화창 사용법 !


대화상자 (JOptionPane)이용하기.

대화상자(dialog box)를 사용하여 사용자에게 메시지를 보여주거나 간단한 데이터를 입력할 떄 입력대화상자를 사용할 수 있다

사용형식

JOptionPane.메소드이름(parentComponent, message, title, messageType, icon)

                       1            2                          3           4          5               6

1. 대화상자의 종류(JOptionPane의 메소드들)

  1) showConfirmDialog() : yes/no/cancel의 확인 응답을 위한 대화상자

  2) showInputDialog() : 데이터를 입력하기 위한 대화상자

  3) showMessageDialog() : 메시지를 알리는 대화상자

  4) showOptionDialog() : 3기능 모두를 위한 대화상자.

2. parentComponent: 대화상자가 들어갈 컴포넌트를 지정한다.. 대화상자를 담고 있는 녀석이니 대부분 this겠죠?

    대화상자가 화면 중앙에 나타나도록 null값을 지정한다.

3. message : 화면에 나타날 메시지 문자열을 지정

4. title : 대화상자의 타이블 바에 해당하는 문자열을 지정

5. messageType : 대화상자의 타입을 나타내는 메시지 유형을 지정(JOptionPane.메시지 유형)으로 나타냄

 1) INFORMATION_MESSAGE : 정보를 알려준다!!

 2) ERROR_MESSAGE : 오류를 알려준다.

 3) QUESTION_MESSAGE : 진물은 제시한다.

 4) WARNING_MESSAGE : 잠재적인 문제를 경고한다.

 5) PLAIN_MESSAGE : 아이콘이 없고 메시지만 나타낸다.

6. icon : 대화상자 버튼의 종류

 1)DEFAULT_OPTION

 2) YES_NO_OPTION

 3) YES_NO_CANCEL_OPTION

 4) OK_CANCEL_OPTION

 

사용해보자.

<메세지 출력대화상자>

  ① JOptionPane.showMessageDialog(null,"메시지\n대화상자\n연습");
  ②JOptionPane.showMessageDialog(null, "오류알림!!","alert", JOptionPane.ERROR_MESSAGE);
  ③JOptionPane.showConfirmDialog(null, "삭제하시겠습니까?", "choose one", JOptionPane.YES_NO_OPTION);

  ④ Object[] options = {"확인","취소"};
  JOptionPane.showOptionDialog(null,  "계속하려면 확인을 클릭하세요", "Warning", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);

 

<메시지 입력대화상자>

 ① String inputValue = JOptionPane.showInputDialog("이름을 입력해주세요. : ");
 ② Object[] pet = {"고양이","강아지","토끼","햄스터"};
 Object selectedValue =  JOptionPane.showInputDialog(null,  "애완동물 종류를 선택하세요. ", "애완동물", JOptionPane.INFORMATION_MESSAGE, null, pet, pet[0]);

 

대화상자를 이용하여 과일값 구하기.

import javax.swing.JOptionPane;
public class JOptionPaneTest {
 public static void main(String[] args) {
  String fruitstr, cntstr;
  int fruitcnt,amt;
  fruitstr = JOptionPane.showInputDialog("구입할 과일 이름을 입력하세요.:");
  cntstr = JOptionPane.showInputDialog("과일 개수를 입력하세요.:");
  fruitcnt = Integer.parseInt(cntstr);
  amt = fruitcnt * 1000;
  JOptionPane.showMessageDialog(null,  "과일이름 : " + fruitstr + "개수:"+fruitcnt + "지불금액:"+amt, "과일구입액", JOptionPane.PLAIN_MESSAGE);
  int answer = JOptionPane.showConfirmDialog(null,  "프로그램을 종료할까요?", "작업종료",JOptionPane.YES_NO_OPTION);
 }
}