KH/JAVA

# 42 Dialog

오늘의 진 2022. 8. 4. 11:24

Modal (모달)

 

새 모달창이 열렸을때 기존에 있던 창을 사용하지 못한다. 

예를들어 어떠한 응용 프로그램에서 에러 메세지가 뜬다면 그 메세지를 확인 또는 취소를 눌러야만 다음으로 진행이 가능하고 그메세지가 뜬 상태라면 뒤에 있는 창을 선택할 수 없다.

 

즉 다이얼로그 창이 제어권을 독점해서 이 창이 종료되기 전에 다른 작업을 할 수 없는 것이다. 중요한 메세지를 표시하는 다이얼로그창은 거의 대부분 모달로 나타낸다. 

 

Modaless ( 모달리스 )

 

모달리스는 어느하나의 다이얼 로그 창이 있어도 프로그램 제어권을 독점하지 않으므로 다른 작업을 할 수 있다.

 

(예)

package ja_0804;

import java.awt.Button;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;

public class Dialog_1 {
	public static void main(String[] args) {
		
		
		Frame ff = new Frame("Dialog Test");
		
		ff.setSize(400,400);
		
		Dialog info = new Dialog(ff,"새로운 소식",true); 
		//false : 모달리스 , true : 모달
		//true일때는 뒤에 있는 프레임에서 아무작업도 할수 없음(움직이지도 않음) 
		
		info.setSize(240,190);
		info.setLocation(100, 100);
		info.setLayout(new FlowLayout());
		
		Label msg = new Label("This is model Dialog",Label.CENTER);
		Button ok = new Button("ok");
		
		info.add(msg);
		info.add(ok);
		
		//ff.add(info)
		//두개의 위치도 중요함
		//만약 info를 먼저보이게 하면 true이면 이벤트가 선점해서 뒤에껏ff를 보이지 않게함
		ff.setVisible(true);
		info.setVisible(true);
		
		
	}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

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

# 44 AdjustmentEvent , ItemEvent  (0) 2022.08.05
# 43 Event ( 이벤트 ) -ActionEvent, Window  (0) 2022.08.04
# 41 Layout  (0) 2022.08.03
# 40 AWT(2) - TextField , Menu  (0) 2022.08.03
# 39 AWT- Pane1,Button,CheckBox,Label,Frame,Choice  (0) 2022.08.01