对话框不能单独存在,依赖于窗体,有显示标题,有模式

获取Dialog对象,new出来,构造参数:Frame对象,String的标题,模式

窗体内部的内容,Label对象,Button对象,调用Dialog对象的add()方法,把这两个添加进去

Dialog也是一个普通的窗体,需要设置尺寸和位置

这个Dialog窗体不用加入到Frame窗体中,只需要设置是否显示就可以了

对话框的叉号,给对话框添加窗体事件

调用Dialog对象的addWindowListener()方法,设置,重写windowClosing()方法,方法里面调用Dialog对象setVisible(flase),隐藏掉

显示信息

调用Label对象的setText()方法,设置文本

import java.awt.Button;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File; public class FrameDemo {
private Frame frame;
private TextField tf;
private TextArea ta;
private Button button; private Dialog dialog;
private Label label;
public FrameDemo() {
init();
} /**
* 初始化
*/
public void init() {
frame = new Frame("测试窗体");
frame.setBounds(300, 200, 300, 400);
frame.setLayout(new FlowLayout()); tf = new TextField(20);
button = new Button("转到");
ta = new TextArea(30, 30);
frame.add(button);
frame.add(tf);
frame.add(ta); dialog=new Dialog(frame, "警告", false);
dialog.setBounds(250, 100, 200, 100);
dialog.setLayout(new FlowLayout());
label=new Label();
dialog.add(label); frame.setVisible(true); addEventAction();
} /**
* 添加事件
*/
public void addEventAction() {
// 退出
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//对话框的window事件
dialog.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
dialog.setVisible(false);
}
});
// action事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String dirName = tf.getText();
File file = new File(dirName); if (!file.isDirectory() || !file.exists()) {
dialog.setVisible(true);
label.setText(dirName+"目录不存在");
ta.setText("目录不存在");
return;
} String[] files = file.list();
StringBuilder sb = new StringBuilder();
for (String name : files) {
sb.append(name);
sb.append("\r\n");
}
ta.setText(sb.toString());
}
});
} /**
* @param args
*/
public static void main(String[] args) {
new FrameDemo();
} }

[javaSE] GUI(对话框Dialog)的更多相关文章

  1. Android 对话框(Dialog)大全 建立你自己的对话框

    Android 对话框(Dialog)大全 建立你自己的对话框 原文地址: http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html A ...

  2. 转 Android 对话框(Dialog)大全 建立你自己的对话框

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

  3. 95秀-自定义对话框 dialog 合集

    普通的确认对话框 NormalDialog.java import android.app.Dialog; import android.content.Context; import android ...

  4. Android 常用对话框Dialog封装

    Android 6种 常用对话框Dialog封装 包括: 消息对话框.警示(含确认.取消)对话框.单选对话框. 复选对话框.列表对话框.自定义视图(含确认.取消)对话框 分别如下图所示:       ...

  5. Android项目实战(三十二):圆角对话框Dialog

    前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1.对话框边框圆角 ...

  6. Android 对话框(Dialog)大全

    转自: http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html Activities提供了一种方便管理的创建.保存.回复的对话框机制, ...

  7. Android 对话框(Dialog)

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

  8. Android 对话框(Dialog) 及 自己定义Dialog

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,比如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

  9. (转载)Android项目实战(三十二):圆角对话框Dialog

    Android项目实战(三十二):圆角对话框Dialog   前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话 ...

  10. android对话框(Dialog)的使用方法

    Activities提供了一种方便管理的创建.保存.回复的对话框机制.比如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

随机推荐

  1. PHP中利用Redis管道加快执行

    $redis->muti($mode)->get($key)->set($key)->exec(): 既然是这样的, 也就是说当我要使用管道执行一万次操作的时候需要写一万次操作 ...

  2. php扩展编译流程路

  3. Centos搭建Groovy开发环境

    背景 临时接到需求,要帮兄弟团队跑一点线上的数据,据说很急.于是拿出了许久不用的Spring-Boot.可是,可是,死活启动有问题,心累了.其实一般写脚本就是在Boot用Groovy写好,然后放到线上 ...

  4. eclipse如何汉化,把eclipse改成中文版

    eclipse默认是英文版的,对于中国人来说使用英文语言的软件是件痛苦的事情.下面我来详细说一下如何把eclipse改成中文版的. 工具/原料   eclipse英文版 eclipse中文插件 方法/ ...

  5. C#-WebForm-Request、Response、QueryString

    知识点: Request - 获取请求对象 专门用来接传递过来的值 Request["key"](李献策lxc) 1.获取地址栏传递过来的值 get 2.获取表单传递过来的参数值 ...

  6. FJWC2019 全连

    题目描述 有n个音符,第i个音符会在第i个时刻来临 令第 i 个音符的准备时间为 ti​ 个单位时间,如果选择去点击第 i 个音符,那么就没法点击所有到来时刻在 (i−ti​ ,i+ti​)中的音符. ...

  7. python附录-re.py模块源码(含re官方文档链接)

    re模块 python官方文档链接:https://docs.python.org/zh-cn/3/library/re.html re模块源码 r"""Support ...

  8. Mac下的SSH插件(默认自带)

    Mac下默认自带,直接通过终端输入ssh获取更多的参数帮助.

  9. 【转】Python格式化字符串str.format()

    原文地址:http://blog.xiayf.cn/2013/01/26/python-string-format/ 每次使用Python的格式字符串(string formatter),2.7及以上 ...

  10. 关于Java的权限修饰符(public,private,protected,默认friendly)

    以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...