博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第13章 Swing程序设计----JDialog窗体
阅读量:6457 次
发布时间:2019-06-23

本文共 2075 字,大约阅读时间需要 6 分钟。

JDialog窗体是Swing组件中的对话框

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

在应用程序中创建JDialog窗体需要实例化JDialog类,通常使用以下几个JDialog类的构造方法

  public JDialog(): 创建一个没有标题和父窗体的对话框。

  public JDialog(Frame f): 创建一个指定父窗体的对话框,但该窗体没有标题。

  public JDialog(Frame f, boolean model): 创建一个指定模式的父窗体对话框,但该窗体没有指定标题。

  public JDialog(Frame f, String title): 创建一个指定父窗体和标题的对话框。

  public JDialog(Frame f, String title, boolean model): 创建一个指定窗体、标题和模式的对话框。

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.SwingConstants;import javax.swing.WindowConstants;class MyJDialog extends JDialog {
//创建新类继承JDialog类 public MyJDialog(MyFrame frame){ //实例化一个JDialog类对象,指定对话框的父窗体、窗体标题和类型 super(frame,"第一个JDialog窗体",true); Container container=getContentPane(); //创建一个容器 container.add(new JLabel("这是一个对话框"));//在容器中添加标签 setBounds(120,120,100,100);//设置对话框窗体大小 }}public class MyFrame extends JFrame{ public static void main(String args[]){ new MyFrame(); } public MyFrame(){ Container container=getContentPane(); container.setLayout(null);      //父窗体 JLabel jl=new JLabel("这是一个JFrame窗体"); jl.setHorizontalAlignment(SwingConstants.CENTER); //将标签的文字至于标签中间位置 container.add(jl); JButton bl=new JButton("弹出对话框"); bl.setBounds(10, 10, 100, 21); bl.addActionListener(new ActionListener(){ //为按钮添加鼠标单击事件 public void actionPerformed(ActionEvent e){ new MyJDialog(MyFrame.this).setVisible(true); //使MyDialog窗体可见 } }); container.add(bl); container.setBackground(Color.white); setSize(200, 200); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setVisible(true); }}

     运行结果如图:

  

  分析:在本实例中,为了使对话框在父窗体弹出,定义了一个JFrame窗体,首先在该窗体中定义一个按钮,然后为此按钮添加一个鼠标单击监听事件(在这里使用了匿名内部类的形式)。这里使用new MyJDialog().setVisible(true)语句使对话框窗体课件,这样就实现了用户单击该按钮后弹出对话框功能。

转载地址:http://szizo.baihongyu.com/

你可能感兴趣的文章
linux操作系统加固软件,系统安全:教你Linux操作系统的安全加固
查看>>
linux中yum源安装dhcp,24.Linux系统下动态网络源部署方法(dhcpd)
查看>>
ASP.NET性能优化之分布式Session
查看>>
TaffyDB Introduction
查看>>
转载:《TypeScript 中文入门教程》 16、Symbols
查看>>
JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记4
查看>>
C#技术------垃圾回收机制(GC)
查看>>
漫谈并发编程(三):共享受限资源
查看>>
【转】github如何删除一个仓库
查看>>
Linux系统编程——进程调度浅析
查看>>
大数据Lambda架构
查看>>
openCV_java 图像二值化
查看>>
状态模式
查看>>
删除CentOS / RHEL的库和配置文件(Repositories and configuraiton files)
查看>>
DJANGO变动库的一次真实手动经历
查看>>
VC++获得微秒级时间的方法与技巧探讨(转)
查看>>
HDOJ-1010 Tempter of the Bone
查看>>
MySQL my.cnf参数配置优化详解
查看>>
JavaNIO基础02-缓存区基础
查看>>
日本开设无人机专业,打造无人机“人才市场”
查看>>