1.Dialog

  Dialog组件是Window的子类,是容器类,是特殊组件。

  Dialog是可以独立存在的顶级窗口,使用上和普通窗口几乎没有区别,但应注意以下两点:

    1.对话框通常依赖于其他窗口,也就是说通常会有一个父窗口。

    2.对话框有非模式对话框(non-modal)和模式对话框(modal)两种。当某个模式对话框被打开后,该模式对话框总是位于其父窗口之上,在模式对话框被关闭前,其父窗口无法获得焦点。

方法名 说明
Dialog(Frame owner,String title,boolean modal)

创建一个对话框对象

owner:当前对话框的父窗口

title:当前对话框的标题

modal:当前对话框是否是模式对话框

 1 import javax.swing.*;
2 import java.awt.*;
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5
6 public class DialogDemo1 {
7 Frame frame = new Frame("测试对话框");
8
9 Dialog d1 = new Dialog(frame,"模式对话框",true);
10 Dialog d2 = new Dialog(frame,"非模式对话框",false);
11
12
13 Button modal = new Button("打开模式对话框");
14 Button nonmodal = new Button("打开非模式对话框");
15
16 public void init(){
17 Box box = Box.createVerticalBox();
18 box.add(modal);
19 box.add(nonmodal);
20
21 modal.addActionListener(new ActionListener() {
22 @Override
23 public void actionPerformed(ActionEvent e) {
24 d1.setVisible(true);
25 }
26 });
27
28 nonmodal.addActionListener(new ActionListener() {
29 @Override
30 public void actionPerformed(ActionEvent e) {
31 d2.setVisible(true);
32 }
33 });
34
35 frame.add(box);
36 frame.pack();
37 frame.setVisible(true);
38 }
39
40 public static void main(String[] args) {
41 new DialogDemo1().init();
42 }
43 }

2.FileDialog

  FileDialog是Dialog的子类,代表文件对话框,用于打开或保存文件。需要注意的是,FileDialog不能指定模式和非模式,因为FileDialog完全依赖于平台实现,其对话框类型决定于平台的FileDialog是模式对话框或者非模式对话框。

方法名 说明
FileDialog(Frame parent,String title,int mode)

创建一个文件对话框

parent:父窗口

title:标题

mode:文件对话框类型,FileDialog.LOAD是打开文件,FileDialog.SAVE则是保存文件。

String getDirectory() 获取被打开或保存文件的绝对路径
String getFile() 获取被打开或保存文件的文件名
 1 import javax.swing.*;
2 import java.awt.*;
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5
6 public class FileDialogDemo {
7 Frame frame = new Frame("测试FileDialog");
8
9 Button openButton = new Button("open");
10 Button saveButton = new Button("save");
11
12 FileDialog open = new FileDialog(frame,"打开文件",FileDialog.LOAD);
13 FileDialog save = new FileDialog(frame, "保存文件", FileDialog.SAVE);
14
15 Box box = Box.createVerticalBox();
16 public void init(){
17 box.add(openButton);
18 box.add(saveButton);
19
20 openButton.addActionListener(new ActionListener() {
21 @Override
22 public void actionPerformed(ActionEvent e) {
23 open.setVisible(true);
24
25 String directory = open.getDirectory();
26 String filename = open.getFile();
27
28 System.out.println("打开文件为:"+directory+filename);
29 }
30 });
31
32 saveButton.addActionListener(new ActionListener() {
33 @Override
34 public void actionPerformed(ActionEvent e) {
35 save.setVisible(true);
36
37 String directory = save.getDirectory();
38 String filename = save.getFile();
39
40 System.out.println("文件为:"+directory+filename);
41 }
42 });
43
44 frame.add(box);
45
46 frame.pack();
47
48 frame.setVisible(true);
49 }
50
51 public static void main(String[] args) {
52 new FileDialogDemo().init();
53 }
54 }

AWT05-对话框的更多相关文章

  1. 一步步开发自己的博客 .NET版(10、前端对话框和消息框的实现)

    关于前端对话框.消息框的优秀插件多不胜数.造轮子是为了更好的使用轮子,并不是说自己造的轮子肯定好.所以,这个博客系统基本上都是自己实现的,包括日志记录.响应式布局.评论功能等等一些本可以使用插件的.好 ...

  2. jQuery遮罩层登录对话框

    用户登录是许多网站必备的功能.有一种方式就是不管在网站的哪个页面,点击登录按钮就会弹出一个遮罩层,显示用户登录的对话框.这用方式比较灵活方便.而现在扫描二维码登录的方式也是很常见,例如QQ.微信.百度 ...

  3. Android系统默认对话框添加图片

    开发工具Android Studio 今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说, 看效果: 创建XML文件dialog_lsit_item.xml <L ...

  4. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  5. 使用CSS3的box-shadow实现双透明遮罩层对话框

    box-shadow介绍 在我之前的一篇文章<从天猫和支付宝身上学习opcity与rgba>中,介绍了实现双透明遮罩层效果的两种方法,分别是opacity和rgba.他们需要分别依赖于不同 ...

  6. 10.JAVA之GUI编程弹出对话框Dialog

    在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ import java.awt.Button; ...

  7. C#WebBrowrse拦截下载对话框

    为了实现这个功能,可算是折腾不少时间,网上搜素出来的结果基本都是如何屏蔽警告对话框.后来请教一个技术大牛(程序员之窗的主要作者Starts_2000),他用C++实现了,他尝试了下C#也没有解决,就忙 ...

  8. 实现对gridview删除行时弹出确认对话框的一种简单方法

    在VS2008提供的GridView中我们可以直接添加一个CommandField删除列:<asp:CommandField ShowDeleteButton="True" ...

  9. 炫酷的jQuery对话框插gDialog

    js有alert,prompt和confirm对话框,不过不是很美体验也不是很好,用jQuery也能实现, 体验效果:http://hovertree.com/texiao/jquery/34/ 代码 ...

  10. Android中的AlertDialog使用示例五(自定义对话框)

    在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ...

随机推荐

  1. get_object_vars

    get_object_vars()

  2. 不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过

    什么是线程安全? 当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题. 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或 ...

  3. 面试半年!三面阿里,四面蚂蚁金服,居然倒在了一个Java集合之Map上?

    Map接口 Map与Collection并列存在.用于保存具有映射关系的数据:key-valueMap中的key和value都可以是任何引用类型的数据Map中的key用set来存放,不允许重复,即同一 ...

  4. 仅一年工作经验成功跳槽字节跳动,腾讯并拿到字节的offer,全靠这份面经!

    前言 前几天由于工作的原因一直没怎么看私信,昨天在整理私信的时候看到了一个粉丝给我疯狂私信想要我帮忙整理一份大厂面经,说自己工作也有几年了想跳槽冲刺一下,但是不知道该怎么做好前期准备.我看到这个粉丝也 ...

  5. Java基础教程——解析注解

    解析注解 Java 5开始,java.lang.reflect包下的反射API可以在运行时读取Annotation. 应用:定义一个自动执行方法的注解,解析注解.通过反射执行方法,替代配置文件. pa ...

  6. 基于Docker搭建pypi私有仓库

    一.搭建 1.准备htpasswd.txt文件 该文件内容包含上传包至仓库时验证的用户名和密码 pip install htpasswd htpasswd -sc htpasswd.txt <u ...

  7. 【mq读书笔记】顺序消息

    注意异常情况导致整个消费无限重试 阻塞消费 mq支持局部消息顺序消费,可以确保同一个消息消费队列中的消息被顺序消费.看下针对顺序消息在整个消费过程中做的调整: 队列负载: DefaultMQPushC ...

  8. IAR编译错误Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0x8 more bytes needed. The problem occurred while processing the segment

    问题:个人使用的是IARV9.10编译CC2541的工程,没有做任何修改,直接编译出现如下错误 Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is ...

  9. npm常用操作

    Npm常用操作 1. 淘宝镜像 1.1 npm临时使用淘宝镜像安装依赖包 npm i -g express --registry https://registry.npm.taobao.org 1.2 ...

  10. 第11.10节 Python正则表达式的非贪婪模式的重复匹配:'*?', '+?',和 '??'

    在<第11.9节 Pytho正则表达式的贪婪模式和非贪婪模式>老猿简单介绍了贪婪模式和非贪婪模式,并说明'', '+',和 '?' 修饰符都是 贪婪的:它们在字符串进行尽可能多的匹配.有时 ...