Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1683|回复: 0

对话框(JDialog)使用示例详解

[复制链接]

该用户从未签到

发表于 2011-9-14 21:06:01 | 显示全部楼层 |阅读模式
对话框与框架(JFrame)有一些相似,但它一般是一个临时的窗口,主要用于显示提示信息或接受用户输入。所以,在对话框中一般不需要菜单条,也不需要改变窗口大小。此外,在对话框出现时,可以设定禁止其他窗口的输入,直到这个对话框被关闭。对话框是由 JDialog 类实现的,JDialog 类的构造方法有多种:
    [li]  ·JDialog(); [li]  ·JDialog(Dialog owner); [li]  ·JDialog(Dialog owner,boolean modal); [li]  ·JDialog(Dialog owner,String title); [li]  ·JDialog(Dialog owner,String title,boolean modal); [li]  ·JDialog(Dialog owner,String title,boolean modal,GraphicsConfiguration gc); [li]  ·JDialog(Frame owner); [li]  ·JDialog(Frame owner,boolean modal); [li]  ·JDialog(Frame owner,String title); [li]  ·JDialog(Frame owner,String title,boolean modal); [li]  ·JDialog(Frame owner,String title,boolean modal,GraphicsConfiguration gc);[/li]


  其中 Frame 类型的参数表示对话框的拥有者,boolean 类型参数用于控制对话框的工作方式。如果为true,则对话框为可视时,其他构件不能接受用户的输入,此时的对话框称为静态的;如果为false,则对话框和所属窗口可以互相切换,彼此之间没有顺序上的联系。String类型参数作为对话框的标题,在构造对话框之后,就可以添加其他的构件。
对话框使用示例:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class JDialogDemo extends JFrame implements ActionListener{
   public JDialogDemo(){
      Container contentPane=this.getContentPane();
      JButton jButton1=new JButton("显示对话框");
      jButton1.addActionListener(this);
      contentPane.add(jButton1);
      this.setTitle("JDialogDemo");
      this.setSize(300,300);
      this.setLocation(400,400);
      this.setVisible(true);
   }
   /* 响应窗体的按钮事件 */
   public void actionPerformed(ActionEvent e){
      if(e.getActionCommand().equals("显示对话框")){
         HelloDialog hw=new HelloDialog(this);
      }
   }
   class HelloDialog implements ActionListener{
      JDialog jDialog1=null; //创建一个空的对话框对象
      HelloDialog(JFrame jFrame){
         /* 初始化jDialog1
          * 指定对话框的拥有者为jFrame,标题为"Dialog",当对话框为可视时,其他构件不能
          * 接受用户的输入(静态对话框) */
         jDialog1=new JDialog(jFrame,"Dialog",true);
         //创建一个按钮对象,该对象被添加到对话框中
         JButton jButton1=new JButton("关闭");
         jButton1.addActionListener(this);
         //将"关闭"按钮对象添加至对话框容器中
         jDialog1.getContentPane().add(jButton1);
         /* 设置对话框的初始大小 */
         jDialog1.setSize(80,80);
         /* 设置对话框初始显示在屏幕当中的位置 */
         jDialog1.setLocation(450,450);
         /* 设置对话框为可见(前提是生成了HelloDialog对象) */
         jDialog1.setVisible(true);
      }
      //响应对话框中的按钮事件
      public void actionPerformed(ActionEvent e){
         if(e.getActionCommand().equals("关闭")){
            // 以下语句等价于jDialog1.setVisible(false);
            /* public void dispose()
             * 释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。
             * 即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,
             * 并将它们标记为不可显示。 */
            jDialog1.dispose();
         }
      }
   }
   public static void main(String[] args){
      JDialogDemo test=new JDialogDemo();
   }
}
运行结果如下图所示:
  
回复

使用道具 举报

该用户从未签到

发表于 2011-9-22 10:46:06 | 显示全部楼层
谢谢楼主分享啊 。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-6-17 13:53 , Processed in 0.315989 second(s), 39 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表