본문 바로가기
Study/JAVA

JAVA SWING JOptionPane showMessageDialog

by Answer Choi 2015. 2. 12.
반응형




JOptionPane.ZIP

 

오늘은 SWING에서 팝업 메세지에 해당하는 JOptionPane 중 가장 많이 쓰이는 showMessageDialog에 대해 알아 보겠습니다.

 

먼저 JOptionPane 클래스를 보시면 4개의 메소드가 있습니다.


자바 레퍼런스 문서를 보시면 요렇게 4가지가 나옵니다.

 

Method NameDescription
showConfirmDialogAsks a confirming question, like yes/no/cancel.
showInputDialogPrompt for some input.
showMessageDialogTell the user about something that has happened.
showOptionDialogThe Grand Unification of the above three.

 

차근차근 하나씩 보기로 하고 이번에는 showMessageDialog 부터 보시겠습니다. 

 

이건 일반적인 다이얼로그 형태의 메세지 창이라고 보시면 됩니다.

 

그리고 메세지 타입이라는 것이 있는데 총 5가지가 있습니다.

 

 

  • ERROR_MESSAGE
  • INFORMATION_MESSAGE
  • WARNING_MESSAGE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

 

이 옵션에 따라 showMessageDialog의 형태가 조금씩 달라지는 데 테스트를 통해서 확인 할께요.

 

그럼 일단 테스트를 위해 예제소스를 만들었습니다.

 

 

 

Design tab에서 만들었구요~ 간단하게 버튼 5개를 이용하여 showMessageDialog가 옵션에 따라 어떻게 달라지는 보겠습니다.

 

이제 JAVA 코드로 가보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Override
public void actionPerformed(ActionEvent e) {
    if(e.getSource()==btnErrMsg){
        JOptionPane.showMessageDialog(null,"THIS IS ERROR MESSAGE","ERROR TITLE",JOptionPane.ERROR_MESSAGE);
    }else if(e.getSource()==btnInfoMsg){
        JOptionPane.showMessageDialog(null,"THIS IS INFORMATION MESSAGE","INFORMATION TITLE",JOptionPane.INFORMATION_MESSAGE);
    }else if(e.getSource()==btnWarningMsg){
        JOptionPane.showMessageDialog(null,"THIS IS WARNING MESSAGE","WARNING TITLE",JOptionPane.WARNING_MESSAGE);
    }else if(e.getSource()==btnQuestionMsg){
        JOptionPane.showMessageDialog(null,"THIS IS QUESTION MESSAGE","QUESTION TITLE",JOptionPane.QUESTION_MESSAGE);
    }else if(e.getSource()==btnPlainMsg){
        JOptionPane.showMessageDialog(null,"THIS IS PLAIN MESSAGE","PLAIN TITLE",JOptionPane.PLAIN_MESSAGE);
    }
}
cs

자~ 버튼 리스너에 대한 얘기는 앞에서 했으니 궁금하시면 SWING JButton (JAVA용 GUI) 를 참고하세요.


본론으로 들어갈께요.


Line 4,6,8,10,12가 각각 showMessageDialog를 띄워주는 부분입니다.


사용방법은 JOptionPane.showMessageDialog(Component arg0, Object arg1, String arg2, int arg3​)

 

해주시면 되는데 첫번째 Component arg0은 어디에 나타나게 할껀지, 두번째 Object arg1은 메세지 내용, 세번째 String arg2는 다이얼로그의 타이틀, 네번째 int arg3는 우리가 알아볼 옵션입니다.

 

Component arg0 을 null로하면 팝업창으로 띄워줍니다.

 

우선 Line 3에있는 btnErrMsg라는 놈이 ERROR 메세지입니다. 


옵션부분을 보시면 ERROR_MESSAGE라고 되어있군요.


마찬가지로 Line 5의 btnInfoMsg는 INFORMATION_MESSAGE, 


Line7의 btnWarningMsg는 WARNING_MESSAGE,


Line9의 btnQuestionMsg는 QUESTION_MESSAGE,


Line11의 btnPlainMsg는 PLAINE_MESSAGE입니다.

 

먼저 ERROR_MESSAGE를 클릭하시면



요렇게 다이얼로그가 나옵니다.


두번째 INFORMATION_MESSAGE를 클릭해 봅시다.




세번째 WARNING_MESSAGE 


 


네번째 QUESTION_MESSAGE 

마지막 PLAIN_MESSAGE 

 


 


자~머가 다른지 찾으셨나용??


바로 메세지앞의 아이콘이 차이가 납니다.


showMessageDialog의 5가지 옵션은 위와 같이 아이콘에서 차이가 나는군요.


아 그리고 뒤의 매개변수가 너무 길다 싶으면


JOptionPane.showMessageDialog(Component arg0, Object arg1) 의 형태로도 사용할 수 없습니다. 

 

그럼 기본적으로 INFORMATION_MESSAGE 옵션으로 나타나게 됩니다.

 



반응형

'Study > JAVA' 카테고리의 다른 글

JAVA SWING JOptionPane showInputDialog 와 showOptionDialog  (0) 2015.02.12
JAVA SWING JOptionPane showConfirmDialog  (2) 2015.02.12
JAVA SWING JCheckBox  (0) 2015.02.12
JAVA SWING JButton  (0) 2015.02.12
JAVA SWING echo server  (0) 2015.02.12

인기글