대화 상자는 휴먼 컴퓨터 대화 프로세스에 대화식 모드를 제공하는 도구입니다. 응용 프로그램은 대화 상자를 통해 사용자에게 정보를 제공하거나 사용자로부터 정보를 얻습니다. 대화 상자는 사용자 입력을 얻기위한 컨트롤을 배치 할 수있는 임시 창입니다. 스윙에는 JDialog 클래스와 Joptionpane 클래스 인 두 가지 대화 상자가 있습니다. JDialog 클래스는 일반적인 대화 상자의 구성 및 관리를 제공합니다. Joptionpane 클래스는 간단한 "예 No"대화 상자 등과 같은 일부 일반적인 대화 상자에 대한 많은 사용하기 쉬운 옵션을 제공합니다.
jdialog 클래스
JDialog 클래스는 대화 상자의 기본 클래스 역할을합니다. 대화 상자는 일반적인 창과 다릅니다.
대화 상자는 필수 및 비장형으로 나뉩니다. 필수 대화 상자는 대화 상자가 완료 될 때까지 대화 과정을 방해 할 수 없으며 프로그램이 대화 상자 외부의 이벤트에 응답하지 않습니다. 무인도 대화 상자는 대화 프로세스를 방해하고 대화 상자 외부의 이벤트에 응답 할 수 있습니다. 강제 유형은 모드 대화 상자라고도하며, 비 포르지 대화 상자를 비 모드 대화 상자라고도합니다.
jdialog 객체는 컨테이너이기도하므로 레이아웃 관리자를 JDialog 대화 상자에 할당 할 수도 있습니다. 그러나 구성 요소는 대화 상자에 직접 추가 할 수 없으며 컨텐츠 패널도 포함되어 있으며 구성 요소는 jdialog 객체의 컨텐츠 패널에 추가되어야합니다. 대화 상자는 창에 따라 다르기 때문에 대화 상자를 만들려면 먼저 창을 만들어야합니다.
JDialog 클래스에는 일반적으로 사용되는 생성자가 3 개 있습니다.
JDialog 클래스에는 몇 가지 다른 일반적인 방법이 있습니다.
[예] 애플릿은 사용자 창 클래스와 대화 상자 클래스에 버튼을 클릭하면 해당 대화 상자가 활성화됩니다. 대화 상자에 해당 정보를 입력하고 대화 상자에서 확인 버튼을 누릅니다. 버튼의 모니터링 방법을 결정하고 대화 상자에 입력 한 정보를 사용자 창으로 전송하고 사용자 창의 해당 텍스트 상자에 선택 정보를 표시합니다.
import java.applet.*import javax.swing. 개인 Jtextfield Text1, MyWindow (super 컨테이너); (100,100); "과일 선택"; = Con.add (button.add); 정적 void retur nname (string s) {if (flg == 1) text1.settext ( "선택된 과일은"+s); +s); 1; Jlabel 제목; JBUTTON DONE; name "); text = new Jtextfield (10); text.seteditable (true); con.setlayout (new flowlayout ()); con.setsize (200,100); setModal (false); done = new Jbutton ("OK "). done.addactionListener (TRUE); } 공개 클래스 example {mywindow winder;위의 예제는 필수 대화 상자를 만들지 않고 대화하는 동안 잠시 멈추고 프로그램의 다른 부분과 상호 작용할 수 있습니다. 이런 식으로 인터페이스에서 일부 대화의 효과를 볼 수 있습니다.
위의 예제를 적은 양의 변경만으로 비 방지 대화 상자로 변경하십시오. 먼저 코드를 "super (f, s, true);"에서 "super (f, s, false)로 변경하십시오.
두 번째 변경 사항 : 확인 버튼 이벤트에 응답 할 때 메소드 returnName ()이 호출되고 대화 상자에서 얻은 문자열이 프로그램으로 반환됩니다. 이제 텍스트 상자 입력 선택 문자열이 끝나면 메소드가 즉시 호출되어야합니다. 이렇게하려면 텍스트 상자의 입력 이벤트를 모니터링하고 텍스트에 대해 모니터를 등록해야합니다.
public void actionPerformed (actionEvent e) {if (e.getSource () == 텍스트) {myWindow.returnName (text.getText ()); text .getText ();Joptionpane 클래스
Joptionpane 클래스는 일반적인 대화 상자의 프로그래밍을 단순화하기 위해 매우 간단한 대화 상황이 발생합니다. Joptionpane 클래스는 사용자가 특정 유형의 대화 상자를 선택할 수 있도록 정적 메소드 세트를 제공합니다. 다음 코드는 확인 대화 상자입니다.
int result = joptionpane.showconfirmdialog (부모, "정말로 종료하고 싶습니까?", "Exit 확인", joptionpane.yes_no_cancel_option);
메소드 이름의 중간 부분의 텍스트 "확인"은 대화 상자 생성 유형이며 텍스트 확인은 확인 대화 상자가 선택되었음을 나타냅니다. 텍스트를 다른 세 가지 유형 중 하나로 확인하고 해당 유형 대화 상자가됩니다. 위의 코드의 네 가지 매개 변수는 다음과 같은 대화 상자의 부모 창을 지정합니다 대화 상자에 세 가지 버튼이 "예 (y),"아니오 (n) 및 "undo"라는 것을 지정합니다. 이 메소드의 반환 결과는 사용자 가이 대화 상자에 응답 한 결과입니다. 표 11-5에 주어진 가능한 답변을 참조하십시오.
입력 대화 상자는 사용자가 목록 또는 텍스트 상자 형식으로 선택 정보를 입력하도록 요청합니다. 다음은 목록에서 실행중인 프로젝트를 선택하는 입력 대화 상자에 대한 개략도입니다.
String result = (String) Joptionpane.showInputDialog (부모, "스포츠를 선택하십시오", "이것은 스포츠 선택 대화 상자입니다", Joptionpane.question_message, null, new Object [] { "Play Football", "Play Basketball", "", ",", ",", " 달리기”,“Jump Rope”},“Running”); 네 번째 매개 변수는 정보 유형이며, 다섯 번째 매개 변수는 여기에 특수한 효과가 없으며, 여섯 번째 매개 변수는 선택할 문자열 배열을 정의하며, 일곱 번째 매개 변수는 선택의 기본값입니다. 대화 상자에는 OK 및 취소 버튼도 포함되어 있습니다.
Joptionpane 대화 상자 유형
Joptionpane 대화 상자에 의해 결과가 반환됩니다
Joptionpane 대화 상자의 정보 유형 옵션
때로는 프로그램이 단순히 일부 정보를 출력하며 사용자에게 피드백을받을 필요가 없습니다. 이러한 대화 상자는 다음과 같은 형태의 코드로 만들 수 있습니다.
joptionpane.showmessagedialog (부모, "이것은"이것은 Java 프로그램입니다 ","나는 출력 정보 대화 상자입니다 ", Joptionpane.plain_message);
위 코드에서 처음 세 매개 변수의 의미는 위에서 설명한 것과 동일하며 최종 매개 변수는 정보 유형이 아이콘을 포함하지 않도록 지정된다는 것입니다.