Java API 分類導覽 - java.awt.Dialog isModal()

Dialog 類別 (class) 的 isModal() 方法 (method) 判斷對話視窗是否為強制模式。



如果對話視窗是強制模式,對話視窗就是焦點視窗,原母視窗無法使用,反之對話視窗為非強制模式之時,原母視窗仍可使用。


修飾子與參數
public boolean isModal()


isModal() 的回傳值 (return value) 為 boolean 型態 (type) 的布林常數,非物件 (object) ,不需要參數 (paramenter) 。


舉例如下
import java.awt.*;
import java.awt.event.*;

public class DialogDemo implements ActionListener {
    Frame frame;
    Button button; 
    Dialog dialog;
    
    public static void main(String[] args) {
        new DialogDemo();
    }
    
    public DialogDemo() {
        frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setLayout(new FlowLayout());
        frame.setSize(320, 200);
        
        button = new Button("DEMO");
        button.addActionListener(this);
        button.setActionCommand("demo");
        frame.add(button);
        
        frame.setVisible(true);
    }
    
    public void actionPerformed(ActionEvent e) {
        dialog = new Dialog(frame);
        dialog.setSize(320, 200);
        dialog.setModal(false);
        dialog.setModalityType(Dialog.ModalityType.MODELESS);
        dialog.setResizable(false);
        dialog.setTitle("new");
        dialog.setUndecorated(false);
        dialog.setVisible(true);
        dialog.toBack();
        
        System.out.println("getTitle: " + dialog.getTitle());
        System.out.println("isModal: " + dialog.isModal());
        System.out.println("isResizable: " + dialog.isResizable());
        System.out.println("isUndecorated: " + dialog.isUndecorated());
    }
}

class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:DialogDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例建立一個 Button 物件,點擊按鈕後執行 actionPerformed()
public void actionPerformed(ActionEvent e) {
    dialog = new Dialog(frame);
    dialog.setSize(320, 200);
    dialog.setModal(false);
    dialog.setModalityType(Dialog.ModalityType.MODELESS);
    dialog.setResizable(false);
    dialog.setTitle("new");
    dialog.setUndecorated(false);
    dialog.setVisible(true);
    dialog.toBack();
        
    System.out.println("getTitle: " + dialog.getTitle());
    System.out.println("isModal: " + dialog.isModal());
    System.out.println("isResizable: " + dialog.isResizable());
    System.out.println("isUndecorated: " + dialog.isUndecorated());
}


首先建立一個 Dialog 物件,然後依序呼叫 Dialog 的 setModal() 以 false 當參數,設定成非強制模式, setModalityType() 以 Dialog.ModalityType.MODELESS 當參數,設定強制模式為 MODELESS 即非強制模式, setResizable() 以 false 當參數,設定成不可改變對話視窗的大小, setTitle() 以 "new" 當參數,將對話視窗的標題列設定為 "new" , setUndecorated() 以 false 當參數,設定成有標題列的對話視窗, setVisible() 以 true 當參數,設定成可見的對話視窗, toBack() 不需要參數,使對話視窗失去焦點。


最後在命令列印出相關資訊,依序呼叫 Dialog 的 getTitle() 印出對話視窗的標題, isModal() 判斷是否為強制模式, isResizable() 判斷是否可調整對話視窗的大小, isUndecorated() 判斷是否無標題列。


編譯後執行,結果如下



中英文術語對照
類別class
方法method
回傳值return value
型態type
物件object
參數parameter


您可以繼續參考
AWT 元件


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/Dialog.html

沒有留言: