이번시간에는 JOptionPane 2번째로 showConfirmDialog 에 대해 알아보겠습니다.
showConfirmDialog도 이전시간에 포스팅했던 showMessageDialog 와 비슷하지만,
이름에도 있듯이 showConfirmDialog는 Confirm!! 즉 확인을 요합니다.
showMessageDialog에도 확인버튼은 있었지만, 이건 좀 더 다양하게 구현할 수 있는 메소드 입니다.
일단 'showConfirmDialog' 는 4가지 옵션이 있습니다.
- DEFAULT_OPTION
- YES_NO_OPTION
- YES_NO_CANCEL_OPTION
- OK_CANCEL_OPTION
그래서 이 4가지를 모두 샘플 코드로 만들어서 테스트 해 보겠습니다.
이전 showMessageDialog 코드에 추가하여 만들겠습니다.
레이아웃 디자인을 보시면 아래와 같습니다.
왼쪽편이 기존의 showMessageDialog 의 테스트를 위한 것.
오른편이 새로 추가된 showConfirmDialog 의 테스트를 위한 것 입니다..
나머지 2가지 메소드도 여기다 추가할께요^^
자 그럼 소스로 가볼께요.
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 | @Override public void actionPerformed(ActionEvent e) { //showMessageDialog 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); } //showconfirmDialog else if(e.getSource()==btnDefaultoption){ JOptionPane.showConfirmDialog(null,"THIS IS DEFAULT OPTION","DEFAULT TITLE",JOptionPane.DEFAULT_OPTION); }else if(e.getSource()==btnYesnooption){ JOptionPane.showConfirmDialog(null,"THIS IS YES_NO OPTION","YES_NO TITLE",JOptionPane.YES_NO_OPTION); }else if(e.getSource()==btnYesnocanceloption){ JOptionPane.showConfirmDialog(null,"THIS IS YES_NO_CANCEL OPTION","YES_NO_CANCEL TITLE",JOptionPane.YES_NO_CANCEL_OPTION); }else if(e.getSource()==btnOkcanceloption){ JOptionPane.showConfirmDialog(null,"THIS IS OK_CANCEL OPTION","OK_CANCEL TITLE",JOptionPane.OK_CANCEL_OPTION); } //showconfirmDialog } | cs |
Line 16~27 : 이부분이 showConfirmDialog 를 위해서 추가된 부분입니다.
메소드 파라메터를 잠깐 설명하고 넘어갈께요.
Component arg0 : 이 부분은 앞에서도 봤지만 다이얼로그의 위치인데 null로 해주시면 무난합니다.
Object arg1 : 이 부분도 앞에서와 같이 메세지 부분
String arg2 : 요기도 타이틀
int arg3 : 자 여기가 달라졌는데요. showMessageDialog는 이부분이 아이콘이었는데,
showConfirmDialog는 dialog 옵션입니다.
Line 18, 21, 23, 25 를 보시면 옵션부분만 다른걸 확인할 수 있어요.
우선 눌러보겠습니다.
DEFAULT_OPTION
YES_NO_OPTION
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION
차이점이 보이시나요??
네~사용자가 선택할 수 있는 버튼에서 차이가 납니다.
그리고 한가지 더!!
아이콘이 모두 QUESTION_MESSAGE 인걸 보실 수 있죠?
아이콘이 맘에 안든다 그러면 수정할 수 있습니다.
아이콘용 파라메터를 하나 더 제공하는데요.
마지막에 아이콘을 넣어주시면 됩니다.
WARNING_MESSAGE 아이콘을 넣어볼께요.
1 | JOptionPane.showConfirmDialog(null,"THIS IS DEFAULT OPTION","DEFAULT TITLE",JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE); | cs |
그리고 클릭하면...
아이콘이 바뀐걸 확인할 수 있습니다.
그리고 또 다른 의문점이 있죠?
바로 우리가 물음에 선택을 했는데, 선택에 따른 코드가 달라져야 겠죠?
그 해답은 .....
바로 메소드에 있습니다.
showConfirmDialog 메소드는 integer 형으로 우리가 선택한 버튼값을 넘겨줍니다.
아래와 같이 코딩을 하시면~
1 2 3 4 5 6 | int choose=JOptionPane.showConfirmDialog(null,"THIS IS YES_NO OPTION","YES_NO TITLE",JOptionPane.YES_NO_OPTION); if(choose==JOptionPane.YES_OPTION){ JOptionPane.showMessageDialog(null,"You are choose YES!!"); }else if(choose==JOptionPane.NO_OPTION){ JOptionPane.showMessageDialog(null,"You are choose NO!!"); } | cs |
YES_NO_OPTION을 클릭하면 물어보겠죠?
'예'로 응답하셨으면~
'아니오'로 응답하시면~
이렇게 코딩한데로 나오는 걸 보실 수 있습니다.
알아보니 참 쉽죠?ㅎ
다음 시간에 다음 메소드로 포스팅하겠습니다.^^
'Study > JAVA' 카테고리의 다른 글
JAVA SWING JScrollPane (0) | 2015.02.12 |
---|---|
JAVA SWING JOptionPane showInputDialog 와 showOptionDialog (0) | 2015.02.12 |
JAVA SWING JOptionPane showMessageDialog (2) | 2015.02.12 |
JAVA SWING JCheckBox (0) | 2015.02.12 |
JAVA SWING JButton (0) | 2015.02.12 |