窗口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 WORD如何输入长下划线
选中一段文字,点击下划线按钮,可以添加下划线 同样,选中一段空格,点下划线,也可以添加下划线
- OpenJudge百炼习题解答(C++)--题3142:球弹跳高度的计算
题: 总时间限制: 1000ms 内存限制: 65536kB 描写叙述 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半.再落下. 编程计算气球在第10次落地时,共经过多少米? ...
- linux系列之-—01 shell编程笔记
一.特殊变量($0.$1.$2. $?. $# .$@. $*) shell编程中有一些特殊的变量可以使用.这些变量在脚本中可以作为全局变量来使用. 名称 说明 $0 脚本名称 $1-9 脚本执行时的 ...
- 解决Struts配置文件里无提示信息的问题
(1)在struts2配置文件编写的时候.有可能无法提示所有信息,在配置文件里打个"<" 后,并没有不论什么的提示信息(使用快捷键Alt+/ 也不提示) 原因是下边的 &q ...
- Android之——监听手机开机事件
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47028535 本文中,主要通过监听开机广播来达到监听手机开机状态的操作.在Andr ...
- JavaScript基本类型与引用类型(二)
前文已经对基本类型和引用类型作了简单的介绍,本文将进一步介绍基本类型和引用类型. 基本包装类型 为了方便操作基本类型的值,JavaScript提供了特殊的引用类型:Boolean.Number.Str ...
- web 界面设计---js设置txt值
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312&quo ...
- github的提交源码到服务器
github是现代的代码库,各种牛人,各种开源,也是现在大公司招聘的一个考察点, 这里介绍一下怎样把本地源码提交到github上. 首先我们需要在github上创建一个respository. 2,输 ...
- [10.27_P3] 简单题 (脑洞)
Description dzy 手上有一张n 个点m 条边的联通无向图,仙人掌是一张每条边最多在一个简单环内的联通无向图.他想求这个无向图的生成仙人掌中最多有多少条边. 但是dzy 觉得这个问题太简单 ...
- HDU - 1150 Machine Schedule(最小点覆盖数)
1.有两台机器A和B以及N个需要运行的任务.A机器有n种不同的模式,B机器有m种不同的模式,而每个任务都恰好在一台机器上运行.如果它在机器A上运行,则机器A需要设置为模式xi,如果它在机器B上运行,则 ...