java Dialog
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的更多相关文章
- [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现
本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...
- android 修改系统的dialog样式
android 修改系统的dialog样式 一.觉得自定义配置文件麻烦?那就来修改系统自定义XML文件来实现修改系统dialog的样式吧. 如果是在XML中样式:首先来说下样式. 在 Style.x ...
- [工作积累] Android system dialog with native callback
JNI: invoke java dialog with native callback: store native function address in java, and invoke nati ...
- 3java面试题 传智 发的 有用
第一章内容介绍 20 第二章JavaSE基础 21 一.Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public.private.protect ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 10.JAVA之GUI编程弹出对话框Dialog
在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ import java.awt.Button; ...
- Java基础之扩展GUI——使用字体对话框(Sketcher 5 displaying a font dialog)
控制台程序. 为了可以选择系统支持的字体,我们定义了一个FontDialog类: // Class to define a dialog to choose a font import java.aw ...
- 关于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. ...
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
* 创建图形化界面 * 1.创建frame窗体 * 2.对窗体进行基本设置 * 比如大小.位置.布局 * 3.定义组件 * 4.将组件通过窗体的add方法添加到窗体 * 5.让窗体显 ...
随机推荐
- log4j:ERROR Could not read configuration file [log4j.properties]
遇到这个错误,程序能够正常运行,log4j.properties也在classpath中,后来在网上查了资料,把下面这个语句去掉就好啦. PropertyConfigurator.configure( ...
- jmeter的运行原理和测试计划要素
jmeter运行原理 1.jmeter运行在JVM虚拟机上,jmeter是以线程的方式运行的. 2.jmeter通过线程组来驱动多个线程,运行测试脚本对被测试服务器发起负载,每一个负载机上够可以运行多 ...
- @codeforces - 932G@ Palindrome Partition
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个字符串 s,求有多少种方案可将其划分成偶数个段 \(p_ ...
- python系列之(1)BeautifulSoup的用法
好久没更新博客了.打算写一个python的爬虫系列及数据分析.falg也不能随便立,以免打脸. python爬取内容,是过程,分析数据是结果,最终得出结论才是目的.python爬虫爬取了内容,一般都是 ...
- 【Django入坑之路】基础操作(过滤,继承,跳转)
1:自定过滤器 1创建templatetags文件夹 2在里面创建自定义py文件:固定格式: from django import template from django.utils.safestr ...
- @codeforces - 718E@ Matvey's Birthday
目录 @description@ @solution@ @accepted code@ @detail@ @description@ 给定一个长度为 n 的字符串 s,保证只包含前 8 个小写字母 ' ...
- 当async/await碰见forEach-------------爆炸
let p = ['http://img3.imgtn.bdimg.com/it/u=3278834702,2663618759&fm=26&gp=0.jpg', 'http://im ...
- UVa 10502【dp】
uva 10502 题意:给定01矩阵,求有多少个由1构成的矩阵.1本事也算一个矩阵. 到最后还是想不出来..... 每次枚举两行,从第i行到第j行,k枚举矩阵的宽(column).这样就相当于每次看 ...
- python 检测目录
#!/usr/bin/env python# -*- coding:utf-8 -*-import osimport win32fileimport win32con ACTIONS = { 1 : ...
- mysql 中 DATE_ADD函数和 DATE_SUB函数用法
mysql 中 DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type) 这些函数执行日期运算. date 是一个 D ...