窗口Dialog
Dialog是窗口的意思,它是Window的子类。与frame相比,frame是我们大的窗口,而dialog便是那种弹出来和你说话的对话框。
Dialog类的默认布局是BorderLayout
Dialog的一种比较典型的构造器,构造方法like这样:
Dialog(Dialog owner, String title, boolean modal)
owner: 第一个是它的爸爸,对话框通常依赖于其他窗口,就是要有个爸爸。爸爸可以是Frame也可以是Dialog。 所以一个Frame的对话框的加入不用add,而是你在爸爸那栏填好就行。
title:顾名思义,就是对话框的名字。
modal:这个bool尔值是是否模式化,如果参数为true,即该对话框模式化,那么这个对话框弹出来后其他窗口都会被屏蔽掉,比如等等那个例子打开模式化对话框后你是无法点亮原Frame的。 而如果参数为flase,即该对话框非模式化,此时打开这个对话框后仍可以点亮或操作其他窗口。
例子代码:
import java.awt.*;
import java.awt.event.*; public class TestDialog {
public static void main(String[] args) {
new TestFrame("测试").FrameLaunch();
}
} class TestFrame extends Frame{ //大窗口 Dialog d1 = null;
Dialog d2 = null;
Button b1 = null;
Button b2 = null; TestFrame(String s) {
super(s);
} public void FrameLaunch() {
//对两个对话框的处理
d1 = new Dialog(this,"模式对话框",true);
d2 = new Dialog(this,"非模式对话框",false);
d1.addWindowListener(new WindowMonitor());
d2.addWindowListener(new WindowMonitor());
d1.setBounds(20, 30, 300, 400);
d2.setBounds(20, 30, 300, 400); //对两个按钮的处理
b1 = new Button("打开模式对话框");
b2 = new Button("打开非模式对话框");
b1.addActionListener(new ButtonMonitor1());
b2.addActionListener(new ButtonMonitor2()); //对那个爸爸frame的处理
setLocation(500,500);
add(b1);
add(b2,BorderLayout.SOUTH);
addWindowListener(new WindowMonitor());
pack();//大窗口包住两个按钮
setVisible(true);
} class ButtonMonitor1 implements ActionListener { //内部类,控制第一个窗口的弹出
public void actionPerformed(ActionEvent e) {
d1.setVisible(true);
}
} class ButtonMonitor2 implements ActionListener {
public void actionPerformed(ActionEvent e) { //内部类,控制第二个窗口的弹出
d2.setVisible(true);
}
} class WindowMonitor extends WindowAdapter { //内部类,窗口监听器,用来关闭窗口
public void windowClosing(WindowEvent e) {
e.getWindow().setVisible(false);
if( !(e.getWindow() instanceof Dialog)) {
System.exit(0);
}
}
} }
窗口Dialog的更多相关文章
- 窗口 - dialog - 概述与基本使用
什么是dialog 对话框是一种特殊的窗口,它在顶部有一个工具栏,在底部有一个按钮栏.默认情况下,对话框(dialog)只有一个显示在头部右侧的关闭工具. 用户可以配置对话框行为来显示其他工具(比如: ...
- 控制窗口不能拖拉出主窗口 Dialog And Window
/* 控制窗口不能拖拉出主窗口(覆写) */var easyuiPanelOnMove = function(left, top) { if ($(this).panel('options').reS ...
- jquery ui-----弹出窗口 dialog
jquery ui 提供了强大的dialog功能,基本能满足开发的功能. 先上一个简单的例子: [代码] <script> $(function() { $( "#dialo ...
- 窗口 - dialog - 与后端交互
与后端交互,一般需要提交表单数据,所以,这次渲染得dialog其实是一个<form> <form id="loginForm"> <table ali ...
- JQuery Dialog(JS模态窗口,可拖拽的DIV) 效果实现代码
效果图 调用示意图 交互示意图 如上图所示,这基本是JQueryDialog的完整逻辑流程了. 1.用户点击模态窗口的“提交”按钮时,调用JQueryDialog.Ok()函数,这个函数对应了用户 ...
- (转)弹出窗口lhgDialog API文档
应用到你的项目 如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用, ...
- QDialog弹出一个窗口,改变窗口大小
创建一个QT应用 文件->新建文件或项目 Application->Qt Widgets Application 其他下一步 基类选择QDialog 其他下一步 resize() 改变窗口 ...
- html 5 dialog标签:定义特殊术语或短语
html5中<dialog>标签作用是定义特殊术语或短语,这里主机吧详细介绍下<dialog>标签用法.<dialog>标签属性以及<dialog>标签 ...
- Android 常用dialog提示对话框
在android应用程序中,经常需要用到dialog对话框让用户知道现在所在进行的操作(比如耗时的操作),或者提示某些信息和状态等,算是比较常用的一个知识点: 1.简单对话框 protected vo ...
随机推荐
- Office EXCEL 如何保留两位小数,四舍五入
选中若干单元格,然后右击设置单元格格式,数值中保留两位小数 使用round函数四舍五入,如下图所示,我在N10单元格中输入"ROUND(M10,1)"即可,其中ROUND是函数 ...
- javascript 语法规范错误提示代码
“Missing semicolon.” : “缺少分号.”, “Use the function form of \”use strict\”.” : “使用标准化定义function.”, “Un ...
- C# 谁改了我的代码 使用 Resharper 快速做适配器
C# 谁改了我的代码 本文告诉大家一个特殊的做法,可以修改一个字符串常量 我们来写一个简单的程序,把一个常量字符串输出 private const string str = "linde ...
- MySQL运行计划不准确 -概述
为毛 MySQL优化器的运行计划 好多时候都不准确,不是最优的呢(cpu+io)??? 因素太多了:: 存在information_schema的信息是定期刷新上去的,好多时候不是最真的,甚至相差好大 ...
- 2014/4/18 ① button与submit的区别 ②现象 : 数据库中其他值可以取到 有的却取不到 解决 看获取时“#”有无
①<input type="button" /> 这就是一个按钮.如果你不写javascript 的话,按下去什么也不会 发生. <input type=&quo ...
- 计算机学院大学生程序设计竞赛(2015’11)1005 ACM组队安排
1005 ACM组队安排 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pro ...
- C# Stopwatch
问题一:前几天写并行计算的实际应用——通讯录的时候,用到了stopwatch来计时,发现这个计时是真正的计时. Stopwatch stopwatch = new Stopwatch(); TimeS ...
- bzoj 3991 寻宝游戏
题目大意: 一颗树 有一个点的集合 对于每个集合的答案为 从集合内一个点遍历集合内所有点再返回的距离最小值 每次可以选择一个点 若在集合外便加入集合 若在集合内就删除 求每次操作后这个集合的答案 思路 ...
- BZOJ2874 训练士兵 主席树
[啊 首先 这是道权限题,然后本人显然是没有权限的 23咳3] 最近数据结构做的越来越少..然后 就跟上次一样 ,一做就是三四种不同写法. 等价的题面: 最近GY大神在sc2的天梯中被神族虐得很惨, ...
- 解决IE和firefox 下flash盖住div的问题(转载)
原文地址:http://www.oschina.net/question/171410_26563 做的企业站 顶部是flash的滚动图片. 右侧是在线客户,但是flash盖住了在线客户的div 网上 ...