[IT科技] 对话框(Dialog)的模式(Modal)测试- 模式排斥ModalExclusionType

发表于 @ 2009-6-8 18:00:26

 
package code.jdk.dialogmodality;
import java.awt.Dialog;
import java.awt.FlowLayout;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class ApplicationModalDialogWithExcludeDemo {
  public static void main(String[] args) {
    final JFrame parent1 = new JFrame("arent Frame 1");
    parent1.setLayout(new FlowLayout());
    parent1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    parent1.setBounds(100, 100, 200, 150);
    parent1.setVisible(true);
    JFrame parent2 = new JFrame("arent Frame 2");
    parent2.setBounds(500, 100, 300, 150);
    parent2.setVisible(true);
    JFrame parent3 = new JFrame("arent Frame 3 - Excluded");
    parent3.setBounds(300, 400, 300, 150);
    parent3.setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE);
    parent3.setVisible(true);
    JDialog dialog = new JDialog(parent1, "Application-Modal Dialog", Dialog.ModalityType.APPLICATION_MODAL);
    dialog.setBounds(300, 200, 300, 150);
    dialog.setVisible(true);
  }
}
运行效果,注意2个窗口允许切换的
对话框(Dialog)的模式(Modal)测试- 模式排斥ModalExclusionType
对话框(Dialog)的模式(Modal)测试- 模式排斥ModalExclusionType


对应的API文档
public static enum Dialog.ModalExclusionTypeextends Enum<Dialog.ModalExclusionType>任何顶层窗口都可以标记为不受模式对话框阻塞。这称为“模式排斥”。此枚举指定可能的模式排斥类型。 从以下版本开始: 1.6 另请参见: Window.getModalExclusionType(), Window.setModalExclusionType(java.awt.Dialog.ModalExclusionType), Toolkit.isModalExclusionTypeSupported(java.awt.Dialog.ModalExclusionType)
[size=+2]枚举常量摘要
APPLICATION_EXCLUDE
APPLICATION_EXCLUDE 指示顶层窗口不会被任何应用程序模式对话框阻塞。
NO_EXCLUDE
无模式排斥。
TOOLKIT_EXCLUDE
TOOLKIT_EXCLUDE 指示顶层窗口不会被应用程序模式对话框或工具包模式对话框阻塞。




Copyright © 2009 老紫竹
网站地图 | 最新文章 | 未读文章 | 24小时内热点文章 |津ICP备09000085号