반응형

※ 입력창 띄우기 - JOptionPane 4. showInputDialog

JOptionPane 클래스 패키지를 import 해야합니다. 자바 소스 코드 최상단에 다음 import 문을 추가합니다.

import javax.swing.JOptionPane;


※ showInputDialog 메소드 함수 형태

- 리턴값(static String) : 사용자가 입력 질문란 텍스트필드(TextField)에 입력한 값을 문자열(String Class)로 되돌려줍니다.

- 메소드 함수 형태 종류
showInputDialog( Object message )
showInputDialog( Object message, Object initialSelectionValue)
showInputDialog( Component parentComponent, Object message )
showInputDialog( Component parentComponent, Object message,
Object initialSelectionValue)
showInputDialog( Component parentComponent, Object message,
String title, int messageType )
showInputDialog( Component parentComponent, Object message,
String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue )



※ 매개변수(파라메터, Parameter) 설명

- Component parentComponent
메시지창 다이얼로그가 어떤 Frame에서 나타나게 될 것인지를 정해주는 변수. null 값이거나 설정해준 값에 Frame이 없다면 기본값 Frame(default Frame)이 지정됩니다. 쉽게 null 로 둬도 될 것 같네요.

- Object message
출력할 Object 클래스형 개체. 주로 문자열 메시지를 출력할 것이므로, 간단하게 그냥 출력할 문자열 자체를 써주면 됩니다. 문자열을 여러줄에 걸쳐서 표현하고 싶다면 newline에 해당하는 escape 문자열(" \n ")을 써주면됩니다.

- Object initialSelectionValue
입력란에 나타낼 초기 문자열 값입니다. 사용자가 입력하지 않아도 초기값으로 텍스트필드에 표시해줄 문자열 값을 미리 정해줄 수 있습니다.

- String title
메시지창 상단 제목표시줄에 나타낼 알림창 제목입니다.

- int messageType
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE

아이콘 없음 :
PLAIN_MESSAGE

- Icon icon
Icon 클래스를 통해서 직접 정해줄 수도 있습니다. 아이콘 클래스는 제가 잘 모르겠네요 죄송^^ 웬만하면 위 메시지 종류 선택으로 적당히 커버는 될 겁니다. 직접 사용자 아이콘을 정해주려면 Icon 클래스 관련 내용을 공부하셔야 할 거 같네요. null 로 해두면 기본값이 출력되는 것 같습니다.

- Object[] selectionValues
입력창을 사용자가 직접 답변을 작성하는 대신에, 콤보 박스를 통해서 선택할 수 있도록 합니다. 문자열 배열(String Class의 배열값)을 넣어주면, 해당 문자열 값 중에서 하나를 선택하게 합니다. 자세한 사용 예제는 아래 사용 예제에서 보여드리겠습니다.


※ 사용 예제
JOptionPane.showInputDialog(null, "기본 입력창입니다.");

사용자 삽입 이미지
아무런 타입도 지정해주지 않은 경우 디폴트 값

String[] selections = {"첫번째값", "두번째값", "세번째값"};
JOptionPane.showInputDialog(null, "selectionValues를 이용해서\n선택창으로 만들어봅니다.", "제목표시줄", JOptionPane.QUESTION_MESSAGE, null, selections, "두번째값");
select

선택창을 만들 수 있습니다.

<출처: http://hallang.tistory.com >

+ Recent posts