Dialog构造方法

* Dialog(Frame owner, String title, boolean modal)

构造一个最初不可见的 Dialog,它带有指定的所有者 Frame、标题和模式。

备注:Dialog的模式区别在于:

true的话对话框依附于窗体,不取消Dialog不可以操作窗体,

    false的话,不取消Dialog可以操作窗体!

package june610;

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.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.File;

public class FrameDemo4 {

public static void main(String[] args) {

final Frame f = new Frame("我的电脑");

f.setBounds(300, 100, 600, 500);

f.setLayout(new FlowLayout());

Button b = new Button("转到");

Button okBut = new Button("确定");

final TextField tf = new TextField(60);

final TextArea ta = new TextArea(25, 70);

f.add(tf);

f.add(b);

f.add(ta);

f.setVisible(true);

final Dialog d = new Dialog(f,"提示信息",true);

final Label lab = new Label();//没有给出内容,用到的时候再给出!

d.add(lab);//label标签加到Dialog上去!

d.setBounds(400, 200, 240, 150);

d.setLayout(new FlowLayout());

d.add(okBut);

okBut.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e){

d.setVisible(false);

}

});

//只可以对鼠标有作用!

okBut.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

d.setVisible(false);

}

});

d.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

d.setVisible(false);//对话框不显示

}

});

//窗体上的操作

f.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

//设置键盘监听器,当输入enter键的时候实现和点击鼠标同样的功能!

/*tf.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e) {

if (e.getKeyCode() == 10) {

// buttonAction();

run(tf,ta,f,d,lab);

}

System.out.println(e.getKeyCode());

}

});*/

//和上面被注释的代码实现的是同样的功能,也是键盘控制,不过不能设定哪个键,只有enter!

tf.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

run(tf,ta,f,d,lab);

// System.out.println(text);

}

});

//给转到添加键盘和鼠标双控制

b.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

run(tf,ta,f,d,lab);

// System.out.println(text);

}

});

b.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e){

run(tf,ta,f,d,lab);

}

});

}

//封装这一方法,为了方便使用(注意这个时候传递参数太多了,尽量避免这种情况的发生!

//在一个方法内部创建的对象只有在自己方法体里面才可以直接调用,而在外部方法必须传递参数)

public static void run(TextField tf,TextArea ta,Frame f,Dialog d,Label lab){

String dirPath = tf.getText();// 获取文本(我们想验证的是路径),接下来获取文件

File file = new File(dirPath);// 获取文件

if (file.exists() && file.isDirectory()) {// 判断,存在否以及是否是文件夹

ta.setText("");// 如果符合条件的话,清空以前的数据;

String[] names = file.list();

for (String name : names) {

ta.append(name + "\r\n");

}

} else {

//备注:应该在这里构建对话框,为了内存的优化,用到的时候才创建对象,用不到就不创建!

String info = "您输入的信息:"+dirPath+"有误,请重新输入!";

lab.setText(info);

d.setVisible(true);

/**可以这样写,但是不专业,现在弹出对话框!

* ta.setText("");

ta.append("对不起,请确认您输入的是路径!");

*/

}

}

}

java Dialog的更多相关文章

  1. [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现

    本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...

  2. android 修改系统的dialog样式

    android 修改系统的dialog样式 一.觉得自定义配置文件麻烦?那就来修改系统自定义XML文件来实现修改系统dialog的样式吧. 如果是在XML中样式:首先来说下样式.  在 Style.x ...

  3. [工作积累] Android system dialog with native callback

    JNI: invoke java dialog with native callback: store native function address in java, and invoke nati ...

  4. 3java面试题 传智 发的 有用

    第一章内容介绍 20 第二章JavaSE基础 21 一.Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public.private.protect ...

  5. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

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

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

  7. Java基础之扩展GUI——使用字体对话框(Sketcher 5 displaying a font dialog)

    控制台程序. 为了可以选择系统支持的字体,我们定义了一个FontDialog类: // Class to define a dialog to choose a font import java.aw ...

  8. 关于dialog引起的 java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView not attached to window manager 错误的分析

    在跑Monkey测试的时候出现了一个比较特别的问题,先来看看Log: // CRASH: com.meizu.media.painter (pid 12491) // Short Msg: java. ...

  9. Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单

     * 创建图形化界面  * 1.创建frame窗体  * 2.对窗体进行基本设置  *   比如大小.位置.布局  * 3.定义组件  * 4.将组件通过窗体的add方法添加到窗体  * 5.让窗体显 ...

随机推荐

  1. 利用Factory-boy来生成实例数据

    库和版本:Faker==2.0.0factory-boy==2.12.0 官方文档:https://factoryboy.readthedocs.io/en/latest/index.html 1. ...

  2. 为什么要用Spring的依赖注入

    最近写了一些Spring项目,用到了依赖注入,但是不知道为甚么要用,后来在知乎上看了一些大家的回答,觉得很精辟,遂简单总结一下. 主要是实现类之间的解耦,假如A类依赖B类,在实例化A类的话也要new一 ...

  3. 【机器学习PAI实战】—— 玩转人工智能之美食推荐

    前言 在生活中,我们经常给朋友推荐一些自己喜欢的东西,也时常接受别人的推荐.怎么能保证推荐的电影或者美食就是朋友喜欢的呢?一般来说,你们两个人经常对同一个电影或者美食感兴趣,那么你喜欢的东西就很大程度 ...

  4. .Net Core 认证系统之Cookie认证源码解析

    接着上文.Net Core 认证系统源码解析,Cookie认证算是常用的认证模式,但是目前主流都是前后端分离,有点鸡肋但是,不考虑移动端的站点或者纯管理后台网站可以使用这种认证方式.注意:基于浏览器且 ...

  5. java视频长度读取 方案参照文件

    ffmpeg库 必须http://ffmpeg.org/download.html#build-windows 第三方jar sauronsoftwarehttp://www.sauronsoftwa ...

  6. day39 10-Spring的AOP:基于AspectJ的切点定义

    切点是我们真正应用在哪些方法上,增强的那些方法上,就是add().update()和find().delete()是没用的.没用的话就是这三个方法.为什么要定义一个切点呢? 所以可以直接在切面中定义一 ...

  7. NSString&NSMutableString常用操作梳理

    http://www.cocoachina.com/ios/20150724/12722.html 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Object ...

  8. jquery( 点击按钮出来文本框并限制文本框的个数)

    // 首先呢  编辑这个文章  主要是用于和大家的交流  以便学习和交流!! <div class="form-group" id="spots"> ...

  9. HUD-1708_FatMouse and Cheese

    FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...

  10. 洛谷 2149 [SDOI2009]Elaxia的路线

    题目描述 最近,Elaxia和w的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间.Elaxia和w每天都要奔波于宿舍和实验室之间,他们 希望在节约时间的 ...