JDialog 窗体是 Swing 组件中的对话框,它继承了 AWT 组件中 java.awt.Dialog 类。

JDialog 窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用 IE 浏览器时弹出的确定对话框,一样。JDialog 实质上就是另一种类型的窗体,它与  JFrame 窗体类似,在使用时也需要调用 getContentPane() 方法将窗体转换为容器,然后在容器中设置窗体的属性。

下面是一个简单的实例:

import java.awt.Color;

import java.awt.Container;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.WindowConstants;

/**

* 1:JDialog窗体时Swing组件中的对话框,

* JDialog的功能就是是从一个窗体中弹出另一个窗体,就像是在使用浏览器时弹出的确定对话框一样

*

* 2:JDialog窗体和JFrame窗体类似,在使用时也需要调用getContentPane()方法将

* 窗体转化为容器,然后在容器中设置窗体的特性

*

* 3:JDialog有五种构造方法,可以用来指定标题,窗体,和模式的对话框

* @author biexiansheng

*

*/

public class JDialogTest extends JDialog{

public JDialogTest(){

//实例化一个JDialog类对象,指定对话框的父窗体,窗体标题和类型

super();

Container container=getContentPane();

container.setBackground(Color.green);

container.add(new JLabel("这是一个对话框"));

setBounds(120,120,100,100);

}

public void MyFrame(){

JFrame jf=new JFrame();//实例化JFrame对象

Container container=jf.getContentPane();//将窗体转化为容器

JButton jb=new JButton("弹出对话框");

jb.setBounds(10,10,20);//设置按钮的大小

jb.addActionListener(new ActionListener() {

//定义匿名内部类,这样才可以点击出现反应

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

new JDialogTest().setVisible(true);;

}

});

container.add(jb);//将按钮添加到容器中,这点非常重要,不然无法显示

//设置容器的结构的特性

jf.setTitle("这是窗体转化为容器");

jf.setSize(200,200);//设置容器的大小

jf.setVisible(true);//使窗体可见

//设置窗体的关闭模式

jf.setDefaultCloSEOperation(WindowConstants.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

JDialogTest jd=new JDialogTest();

jd.MyFrame();

}

}

再来看一个:

import java.awt.Color;

import java.awt.Container;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.WindowConstants;

/**

* 1:按钮JButton

* @author biexiansheng

*

*/

public class MyFrame extends JFrame {

public void MyFrame(){

JFrame jf=new JFrame();//实例化一个JFrame对象

Container container=jf.getContentPane();//将窗体转化为容器

//Container container=getContentPane();

container.setLayout(null);

JLabel jl=new JLabel("这是一个JFrame窗体");//在窗体中设置标签

jl.setHorizontalAlignment(JLabel.CENTER);//将标签中的文字置于标签中间的位置

container.add(jl);//将标签添加到容器中

JButton jb=new JButton("点我");//实例化一个按钮属性

jb.setBounds(20,20,50);

jb.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

//使MyJDialog窗体可见

new MyJDialog(MyFrame.this).setVisible(true);

//上面一句话使对话框窗体可见,这样就实现了当用户单机该按钮后将弹出对话框的功能

}

});

container.add(jb);//将按钮属性添加到容器中

//设置容器里面的属性特点

container.setBackground(Color.blue);

//设置容器的框架结构特性

jf.setTitle("这是一个容器");//设置容器的标题

jf.setVisible(true);//设置容器可视化

jf.setSize(450,400);//设置容器的大小

//设置容器的关闭方式

jf.setDefaultCloSEOperation(WindowConstants.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

MyFrame fm=new MyFrame();

fm.MyFrame();

}

}

class MyJDialog extends JDialog{

//本实例代码可以看到,JDialog窗体和JFrame窗体形式基本相同,甚至在设置窗体的特性

//时调用的方法名称都基本相同,如设置窗体的大小,设置窗体的关闭状态等

public MyJDialog(MyFrame frame){//定义一个构造方法

//实例化一个JDialog类对象,指定对话框的父窗体,窗体标题,和类型

super(frame,"第一个JDialog窗体",true);

Container container=getContentPane();//创建一个容器

container.add(new JLabel("这是一个对话框"));//在容器中添加标签

container.setBackground(Color.green);

setBounds(120,100);

}

}

本实例可以看出,JDialog 窗体与 JFrame 窗体形式基本相同,甚至设置窗体的特性时调用的方法名称都基本相同,如设置窗体大小、窗体关闭状态等。

总结

以上是本文的全部内容,希望对大家有所帮助。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

java dialog 用法_详解Java编程JDialog窗体的用法及实例相关推荐

  1. java内部格式_详解java内部类的访问格式和规则

    详解java内部类的访问格式和规则 1.内部类的定义 定义一个类来描述事物,但是这个事物其中可能还有事物,这时候在类中再定义类来描述. 2.内部类访问规则 ①内部类可以直接访问外部类中的成员,包括私有 ...

  2. java 引用传递_详解java的值传递、地址传递、引用传递

    详解java的值传递.地址传递.引用传递 一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深.下边总结下以便更容易理解. 按照以前 ...

  3. java comparator相等_详解Java中Comparable和Comparator接口的区别

    详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...

  4. Java implement意思_详解JAVA中implement和extends的区别

    详解JAVA中implement和extends的区别 发布于 2020-4-14| 复制链接 摘记: 详解JAVA中implement和extends的区别extends是继承父类,只要那个类不是声 ...

  5. java sleep唤醒_详解Java中的线程让步yield()与线程休眠sleep()方法

    Java中的线程让步会让线程让出优先级,而休眠则会让线程进入阻塞状态等待被唤醒,这里我们对比线程等待的wait()方法,来详解Java中的线程让步yield()与线程休眠sleep()方法 线程让步: ...

  6. java runnable 异常_详解Java中多线程异常捕获Runnable的实现

    详解Java中多线程异常捕获Runnable的实现 1.背景: Java 多线程异常不向主线程抛,自己处理,外部捕获不了异常.所以要实现主线程对子线程异常的捕获. 2.工具: 实现Runnable接口 ...

  7. java 代码块_详解java中的四种代码块

    在java中用{}括起来的称为代码块,代码块可分为以下四种: 一.简介 1.普通代码块: 类中方法的方法体 2.构造代码块: 构造块会在创建对象时被调用,每次创建时都会被调用,优先于类构造函数执行. ...

  8. java static 函数_详解java中的static关键字

    Java中的static关键字可以用于修饰变量.方法.代码块和类,还可以与import关键字联合使用,使用的方式不同赋予了static关键字不同的作用,且在开发中使用广泛,这里做一下深入了解. 静态资 ...

  9. java排序接口_详解JAVA使用Comparator接口实现自定义排序

    1.原则 Comparator接口可以实现自定义排序,实现Comparator接口时,要重写compare方法: int compare(Object o1, Object o2) 返回一个基本类型的 ...

  10. java string 序列化_详解JAVA序列化

    享学课堂作者:逐梦々少年 转载请声明出处! 现在开发过程中经常遇到多个进程多个服务间需要交互,或者不同语言的服务之间需要交互,这个时候,我们一般选择使用固定的协议,将数据传输过去,但是在很多语言,比如 ...

最新文章

  1. .NET小笔记之程序集
  2. Stack:peek、pop、push、search
  3. Ifvisible.js – 判断网页中的用户是闲置还是活动状态
  4. sys.getsizeof(), 字节之间的换算关系
  5. play 拦截器_编写Play 2的模块,第2部分:拦截器
  6. Lync2013 升级错误总结2 Lync2013 PC和手机客户端登录无法验证
  7. 蓝桥杯 ADV-126 算法提高 扫雷
  8. 活动子项父项的复杂CSS选择器[重复]
  9. [转载].net常用函数
  10. python 异常处理小结 try except raise assert
  11. 「 Luogu P2230 」X 「 Vijos 1142 」 HXOS系统
  12. GitHub官网操作指南
  13. 如何用计算机完成一篇文稿制作手写作业,怎样把手写作文快速弄成电子版
  14. 实现Promise的resolve/reject/then/all/race/finally/catch方法
  15. [源码和文档分享]基于SDL类库实现的射死大鸡怪3D游戏
  16. 发现一款好用的在线项目管理工具(有免费版)
  17. vue 百度地图获取经纬度地址
  18. Soul网关源码学习(14)- hystrix,resilienc4j,sentinel 插件的使用和对比
  19. R语言-多元统计学分析课程报告
  20. 网络设备配置与管理————10、命令行接口

热门文章

  1. 拓端tecdat|R语言精算学:使用链梯法Chain Ladder和泊松定律模拟和预测未来赔款数据
  2. 拓端tecdat|R语言蒙特卡洛计算和快速傅立叶变换计算矩生成函数
  3. 拓端tecdat|数据告诉你:互联网哪个职位最有前途?
  4. 我的世界玩服务器虚拟内存高崩,我的世界:MC“游戏崩溃”的7种玩法,敢不敢在你的存档试一下?...
  5. Eureka/Zookeeper/Consul三种注册中心的区别
  6. c语言在头文件后int a,C语言头文件 实现文件 工程文件组织
  7. keras保存断点模型与加载断点
  8. 文件图片随机划分训练集和验证集
  9. [目标检测] Faster R-CNN 深入理解 amp;amp; 改进方法汇总
  10. PIL图像处理时使用np.unit8转化报错: Cannot handle this data type: (1, 1), |O