본문 바로가기
Study/JAVA

JAVA SWING JOptionPane showInputDialog 와 showOptionDialog

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



 

JOptionPaneTest.ZIP

 

 

이번에는 showInputDialog 와 showOptionDialog 를 알아보겠습니다.


이 두 메소드는 짧아서 한번에 할께요.


일단 이번에도 기존 소스에 추가하였습니다.



보시는 바와 같이 추가하였고, showInputDialog는 2가지, showOptionDialog는 한가지로 테스트 할께욤.

 

showInputDialog는 2가지인데요

 

첫번째꺼는 말 그대로 Input!! 즉 주관식으로 우리가 text같은걸 넣는 겁니다.

 

그리고 두번째 꺼는 흔히 말하는 스피너 있죠? 그거라고 생각하시면 됩니다.

 

그러니깐 첫번째껀 주관식, 두번째껀 객관식 ㅎ

 

일단 소스코드를 보면서 설명하겠습니다.

 

아 기본적인 버튼에 대해서 잘 모르시면 앞에 포스팅했던 JButton 부분을 참고바랍니다.


JButton 포스트 가기!!


 

먼저 showInputDialog 첫번째 소스입니다.

 

1
2
3
4
5
//showInputDialog
else if(e.getSource()==btnShowinputdialog){
    String text=JOptionPane.showInputDialog(null,"What's your hobby?","hobby",JOptionPane.INFORMATION_MESSAGE);
    JOptionPane.showMessageDialog(null,"Your hobby is "+text);
}
cs

메소드를 잠시 보시면요.


JOptionPane.showInputDialog(Component arg0, Object arg1, String arg2, int arg3)

 

Component arg0 : 다이얼로그를 표시할 프레임인데 기본적으로 null을 쓴다했죠?


Object arg1 : 이 부분이 뿌려줄 메세지 부분


String arg2 : 요긴 타이틀이구요


int arg3 : 여긴 아이콘~


그리고 showInputDialog 첫번째 꺼는 리턴값이 String입니다.


이 String 값은 우리가 넣어준 text가 되겠죠. 


이 것을 받아서 코드에 응용하는 겁니다.


Line 4: 여기서는 우리가 넣어준 text를 그대로 뿌려줬습니다.


그럼 첫번째 showInputDialog 클릭해 보죠~



취미를 물어보는군요~ 아~ basketball이라고 적어볼께용~



짜잔~ 위의 Line 4 에서 응용해준데로 취미를 띄워주네용^^


아주 간단하죠? 그럼 두번째 showInputDialog를 보실께요.


이건 스피너라고 했죠? 그래서 그런지 파라메터도 많습니다.


일단 두번째 showInputDialog 소스입니다.


1
2
3
4
5
}else if(e.getSource()==btnShowmultiinputdialog){
    Object[] choiceOne={"SAMSUNG-GALAXY","APPLE-IPhone","LG-G","Pantech-VEGA"};
    Object choose=JOptionPane.showInputDialog(null,"what is best cell phone?" ,"Best phone",JOptionPane.QUESTION_MESSAGE,null,choiceOne,choiceOne[0]);
    JOptionPane.showMessageDialog(null,"Your best cell phone is "+choose);
}
cs


음..메소드를 한번 보실께요.

JOptionPane.showInputDialog(Component arg0, Object arg1, String arg2, int arg3, Icon arg4, Object[] arg5, Object arg6)

Component arg0 : 이건 같습니다. null


Object arg1 : 이부분도 머~ showInputDialog 메세지구요.


String arg2 : showInputDialog 타이틀


int arg3 : showInputDialog 아이콘.


여기부터 추가된 파라메터입니다.


Icon arg4 : 이부분은 null을 해주세요.


Object[] arg5 : 요기가 스피너의 아이템들을 넣어주시는 건데 위의 Line 2에 보면 제가 추가를 해놨습니다. 그걸 여기다 넣어주시구요.


Object arg6 : 요긴 다이얼로그가 나타났을때 기본적으로 보여줄 아이템입니다.


한번 두번재 showMultiInputDialog 를 클릭해 보겠습니다.

 



Line 2 : 제가 추가해준 아이템들 즉 'SAMSUNG-GALAXY', APPLE-IPhone', 'LG-G', 'Pantech-VEGA'이 스피너로 들어가는데요.


Line 3: 여기서 제가  'SAMSUNG-GALAXY'를 기본 아이템으로 선택해서 위의 그림과 같이 'SAMSUNG-GALAXY'가 바로 보입니다.


그럼 전 APPLE-IPhone 를 선택하고 '확인'을 눌러볼께용.



그럼 요렇게 제가 선택한 아이템을 보여줍니다.


혹시라도 '취소'를 누르시면 null값이 반환됩니다.(전 처리를 안했습니다^^;;)


아 이것으로 showInputDialog는 끝이났습니다.ㅎ


이제 showOptionDialog를 알아볼께요.


showOptionDialog의 소스입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
//showOptionDialog
else if(e.getSource()==btnShowoptiondialog){
    Object[] option={"IPhone5S","Galaxy Note3","G3"};
    int response=JOptionPane.showOptionDialog(null"What's your phone?","Select Phone",JOptionPane.DEFAULT_OPTION ,JOptionPane.QUESTION_MESSAGE, null, option, option[0]);
    if(response==0){
        JOptionPane.showMessageDialog(null,"Your phone's company is APPLE");
    }else if(response==1){
        JOptionPane.showMessageDialog(null,"Your phone's company is SAMSUNG");
    }else if(response==2){
        JOptionPane.showMessageDialog(null,"Your phone's company is LG");
    }
}
//showOptionDialog
cs

showOptionDialog 의 메소드를 알아보면

JOptionPane.showOptionDialog(Component arg0, Object arg1, String arg2, int arg3, int arg4, Icon arg5, Object[] arg6, Object arg7)

Component arg0 :  null(왜그런지 아시죠?ㅎ).


Object arg1 : showOptionDialog 의 메세지구요.


String arg2 : showOptionDialog 의 타이틀입니다.


int arg3 : 이건 메세지 옵션인데, 앞에서 했던 showCofirmDialog 옵션있죠? 근데 어차피 옵션 만들어주는 거라 왜 있는지 모르겠네요. 뭘 선택해도 같습니다. 일반적으로 JOptionPane.DEFAULT_OPTION 해주세요.


int arg4 : showOptionDialog의 아이콘.


Icon arg5 : 이것도 null을 넣어주세요.


Object[] arg6 : 이게 옵션아이템들인데 위의 소스에서 보시면 Line 3에 만들어 줬습니다.


Object arg7 : 이건 기본적으로 선택할 아이템입니다.


그리고 showOptionDialog는 반환값이 integer입니다.


showOptionDialog를 클릭해 보겠습니다.



Line 3 에서 만든 아이템들이 나타나는 것을 보실 수 있습니다. 'IPhone5S', 'Galaxy Note3', 'G3'.

 

그리고 Line 4 에서 기본적으로 선택한 'IPhone5S'에 선택마크가 있는걸 보실 수 있어요.

 

저는 'Galaxy Note3'를 선택했습니다.(내폰은 노트3니까 ㅎ)

 

 

그러면 선택된게 나타나는 걸 보실 수 있어요^^(Line 5~Line 11)

 

이로써 JOptionPane은 끝이났구요~ 다음엔 또 다른 기능으로 포스팅하겠습니다.^^

 

 

반응형

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

JAVA SWING JScrollPane 자동스크롤  (0) 2015.02.12
JAVA SWING JScrollPane  (0) 2015.02.12
JAVA SWING JOptionPane showConfirmDialog  (2) 2015.02.12
JAVA SWING JOptionPane showMessageDialog  (2) 2015.02.12
JAVA SWING JCheckBox  (0) 2015.02.12

인기글