第13章 Swing程序设计----JDialog窗体
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)语句使对话框窗体课件,这样就实现了用户单击该按钮后弹出对话框功能。
第13章 Swing程序设计----JDialog窗体的更多相关文章
- 第13章 Swing程序设计----JFrame窗体
		
JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器. 在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在 ...
 - 第13章 Swing程序设计
		
1.Swing概述 GUI(图形用户界面)为程序提供图形界面,最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有平台上运行.但Java 1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要 ...
 - 第13章 Swing程序设计----常用面板
		
面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中. Swing常用的面板包括JPanel面板和JScrollPanel面板. 1.JPanel面板 import j ...
 - 第13章 Swing程序设计----标签组件与图标
		
在Swing中显示文本或提示信息的方法是使用标签.本节将探讨Swing标签的用法.如何创建标签,以及如何在标签上放置文本和图标. 1.标签的使用 标签可以显示一行只读文本.一个图像或带图像的文本,它并 ...
 - 第13章 Swing程序设计----常用事件监听器
		
组件本身并不带有任何功能.这时需要为这些组件添加特定事件监听器. Swing中常用的两个事件监听器,即动作事件监听器和焦点事件监听器.
 - 第13章 Swing程序组件----常用布局管理器
		
在Swing中,每个组件在容器中都有一个具体的位置和大小,而在容器中摆放各种组件时很难判断其具体位置和大小.布局管理器提供了Swing组件安排.展示在容器中的方法及基本的布局功能. Swing提供的常 ...
 - JAVA学习中Swing部分JDialog对话框窗体的简单学习
		
package com.swing; import java.awt.Color;import java.awt.Container;import java.awt.event.ActionEvent ...
 - Java核心技术卷一基础知识-第7章-图形程序设计-读书笔记
		
第7章 图形程序设计 本章内容: * Swing概述 * 创建框架 * 框架定位 * 在组件中显示信息 * 处理2D图形 * 使用颜色 * 文本使用特殊字体 * 显示图像 本章主要讲述如何编写定义屏幕 ...
 - Java进阶篇(六)——Swing程序设计(上)
		
Swing是GUI(图形用户界面)开发工具包,内容有很多,这里会分块编写,但在进阶篇中只编写Swing中的基本要素,包括容器.组件和布局等,更深入的内容会在高级篇中出现.想深入学习的朋友们可查阅有关资 ...
 
随机推荐
- 初始化一个本地GIT仓储
			
简单总结下 // 定位到仓储文件夹目录 $ cd /dir // 初始化本地仓储 $ git init ``` 添加本地GIT忽略清单文件.gitignore```// 添加OS X中系统文件.DS_ ...
 - 写Java程序的三十个基本规则【新手必读】
			
(1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如: ThisIsAClassName this ...
 - sql 针对拼接语句的优化
			
在日常的开发中尽量少采用拼接语句,但针对多条件联合查询,并有多字段可以偏序的情况下,的确采用拼接语句要方便简单得多,单数据库会因为传入的参数不同而产生不同的计划数,计划数多了,对数据库影响很大. 为了 ...
 - 设计模式 -- 解释器模式(Interpreter Pattern)
			
2015年12月15日00:19:02 今天只看了理论和demo,明天再写文章,跑步好累 2015年12月15日21:36:00 解释器模式用来解释预先定义的文法. <大话设计模式>里面这 ...
 - RPC学习
			
之前有一篇文章,说了RPC的内容: http://www.cnblogs.com/charlesblc/p/6214391.html 如果有一种方式能让我们像调用本地服务一样调用远程服务,而让调用者对 ...
 - radio的选中设置以及取值。
			
前台:<input type=" id="tg" name="state"/> <a style="cursor:poin ...
 - win10桌面和手机的扩展API,判断是否有实体后退键API
			
喜大普奔的win10 uap开发预览版终于出了,这次更新跟8.1的变化不是很大,但是将原本win8.1和wp8.1uap的分项目的形式,改为了整合成一个项目,经过一次编译打包成一个appx包,实现了无 ...
 - ajax通过设置Access-Control-Allow-Origin来实现跨域访问
			
[在被请求的Response header中加入] // 指定允许其他域名访问(*代表所有域名)header('Access-Control-Allow-Origin:*');// 响应类型heade ...
 - 如何用Linux外接显示器或投影仪
			
在Windows下使用Win+P键或者定制屏幕选项,可以让自己用多个显示器工作或者外接投影仪进行演讲.在Linux下,Gnome与KDE这样的“重量级”桌面环境同样提供了类似的功能与操作方式.但是像我 ...
 - 一个文字无缝滚动的jQuery插件
			
直接上代码吧 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...