10.JAVA之GUI编程弹出对话框Dialog
在上节基础上添加对话框显示错误信息。
代码如下:
/*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体。*/
/*练习-列出指定目录内容*/
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; class MyWindowDemo {
private Frame f;
private TextField tf;
private Button but;
private TextArea ta;
private Dialog d;
private Label lab;
private Button okBut; MyWindowDemo() {
init();
} public void init() {
f = new Frame("by 星云");// 创建窗体对象
f.setBounds(300, 100, 600, 500);// 设置窗体位置和大小
f.setLayout(new FlowLayout());// 设置窗体布局为流式布局 tf = new TextField(60);// 创建单行文本对象60长度大小字符 but = new Button("转到");// 创建按钮对象 ta = new TextArea(25, 70);// 创建多行文本对象25行,70列 d = new Dialog(f, "提示信息-self", true);//弹出的对话框
d.setBounds(400, 200, 350, 150);//设置弹出对话框的位置和大小
d.setLayout(new FlowLayout());//设置弹出对话框的布局为流式布局
lab = new Label();//创建lab标签填写提示内容
okBut = new Button("确定");//创建确定按钮 d.add(lab);//将标签添加到弹出的对话框内
d.add(okBut);//将确定按钮添加到弹出的对话框内。 f.add(tf);// 单行文本添加到窗体上
f.add(but);// 按钮添加到窗体上
f.add(ta);// 多行文本添加到窗体上 myEvent();// 加载事件处理
f.setVisible(true);// 设置窗体可见 } private void myEvent() { // 确定按钮监听器
okBut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
d.setVisible(false);
} }); //文本框兼容器
tf.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER)//如果按下回车键执行showDir()功能函数
showDir();//调用功能函数
} }); // 对话框监听器
d.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { d.setVisible(false);//设置对话框不可见 } }); // 按钮事件监听器
but.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
showDir();
} });
// 窗体关闭监听器
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0); } }); } //showDir()功能函数
private void showDir(){
String dirPath = tf.getText();// 获取单行文本内容保存到字符串dirPath中
File dir = new File(dirPath);// 将字符串dirPath封装成文件 // 如果文件存在,而且是个目录执行下列操作
if (dir.exists() && dir.isDirectory()) {
ta.setText(null);// 没打开一个目录前清空多行文本内容
String[] names = dir.list();// 文件目录列表存放到字符数组中
for (String name : names) {
ta.append(name + "\r\n");// 追加文本内容并换行 }
} else { String info = "您输入的路径" + dirPath + "是错误的,请重新输入!";
lab.setText(info);//显示文本错误提示信息
d.setVisible(true);//设置对话框可见。
}
} public static void main(String[] args) { new MyWindowDemo();
} }


上篇:9.JAVA之GUI编程列出指定目录内容 下篇: 11.JAVA之GUI编程菜单
10.JAVA之GUI编程弹出对话框Dialog的更多相关文章
- java selenium (十一) 操作弹出对话框
Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型 阅读目录 对话框类型 1. 警告框: 用于提示用户相关信息的验证结果, 错误或警告等 2. 提示框 ...
- CKEDITOR 4.6.X 版本 插件 弹出对话框 Dialog中 表格 Table 自定义样式Style 问题
项目开发过程中,发现CKEDITOR 插件的弹出框 内 如果跟据项目需要写表格(table tr td),表格的边框等属性会被 CKEDITOR的清除或覆盖,导致表格很难看. 问题关键: 插件弹出框d ...
- Android 弹出对话框Dialog充满屏幕宽度
final View view = LayoutInflater.from(context).inflate(layoutId, null); final Dialog dialog = new Di ...
- 9.JAVA之GUI编程列出指定目录内容
代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import ...
- 11.JAVA之GUI编程菜单
功能:添加菜单组件 知识总结: 代码如下: import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Menu; impor ...
- Eclipse无法正常启动,弹出对话框内容为 A Java Runtime...
1.Eclipse无法正常启动,弹出对话框内容为 A Java Runtime...如下图: 原因分析:由于软件版本的更新或者安装其他开发软件无意之间修改了配置文件中的路径,众所周知,Java虚拟机( ...
- Java之GUI编程
GUI编程 组建 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 1.简介 GUI的核心技术:Swing AWT 为什么不流行? 界面不美观. 需要jre环境.(没必 ...
- 【Java】GUI编程
GUI编程 前言 某koukou老师的任务罢了,好在狂神老师居然有GUI的课,只能说是有救星了. [狂神说Java]GUI编程入门到游戏实战 最好笑的是,老师要求掌握的居然是14年的知识,就连狂神在上 ...
- java基础—GUI编程(一)
一.AWT介绍
随机推荐
- 领域驱动和MVVM应用于UWP开发的一些思考
领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-Web打印
系列目录 前言 1.本次主要弥补工作流,用户表单数据的打印 2.使用JQprint做为web打印插件 3.兼容:FireFox,Chrome,IE. 4.没有依赖也没有配置,使用简单 代码下载:htt ...
- NLP点滴——文本相似度
[TOC] 前言 在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性.而有了文本之间相似性的度 ...
- 著名ERP厂商的SSO单点登录解决方案介绍一
SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户 ...
- Dynamics CRM 之ADFS 使用 WID 的联合服务器场
使用 WID 的联合服务器场 默认拓扑 Active Directory 联合身份验证服务 (AD FS) 是联合服务器场,使用 Windows 内部数据库 (WID). 在这种拓扑, AD FS 使 ...
- Web前端需要熟悉大学里【高大上】的计算机专业课吗?
作为一名刚刚大学毕业,进入新的学习阶段的研究生,我必须说大学的专业课非常重要!不管你信不信,事实就是如此! 一.大学学习的专业课非常重要,它决定了我们能走到什么高度 前端的发展非常快,我常常觉得刚刚关 ...
- SCNU ACM 2016新生赛决赛 解题报告
新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代 ...
- 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云
CERN:欧洲核子研究组织 本文根据以下几篇文章整理而来: https://www.openstack.org/summit/tokyo-2015/videos/presentation/unveil ...