[java桌面应用开发]对话框————(2020.5.22学习笔记)

目录

01 对话框介绍
02 实例代码

01 对话框介绍

对话框是一个临时的可移动窗口,且要依赖于其他窗口,当它所依赖的窗口消失或最小化时,对话框也将消失。当窗口还原时,对话框会自动恢复。一般地,要先创建一个窗口类,再创建一个对话框类,且让对话框依附于窗口。对话框分为强制型和非强制型两种。强制型对话框被关闭之前,其他窗口无法接收任何形式的输入,也就是该对话过程不能中断,这样的窗口也称为模式窗口。非强制型对话框可以中断对话过程,去响应对话框之外的事件。对话框的构造方法主要有以下几种。
  •JDialog(Dialog owner):创建一个没有标题但将指定的对话框作为其所有者的无模式对话框。
  •JDialog( Dialog owner, boolean modal):创建一个没有标题但有指定所有者的对话框,boolean型参数modal指定对话框是有模式或无模式。
  •JDialog(Dialog owner, String title):创建一个具有指定标题和指定所有者的无模式对话框。
  •JDialog( Dialog owner, String title, boolean modal):创建一个具有指定标题和指定所有者的对话框,boolean型参数 modal指定对话框是有模式或无模式。
  •JDialog(Frame owner):创建一个没有标题但将指定的框架作为其所有者的无模式对话框。
  
  •JDialog(Frame owner, boolean modal):创建一个没有标题但有指定所有者的对话框,boolean型参数 modal指定对话框是有模式或无模式。
  •JDialog(Frame owner, String title):创建一个具有指定标题和指定所有者框架的无模式对话框。
  •JDialog( Frame owner, String title, boolean modal):创建一个具有指定标题和指定所有者框架的对话框,boolean型参数 modal指定对话框是有模式或无模式
  上述构造方法中都带有一个Dialog型或Frame型的参数,这个参数指定了对话框的拥有者,也就是它的依赖窗口。例如命令:
  JDialog dialog=new JDialog(frame,“Dialog”,true);
  创建了一个标题为“Dialog”的模式对话框,该对话框为框架frame所拥有。刚刚创建的对话框是不可见的,需要调用setVisible(true)方法才能将其显示出来。当对话框不需要显示时,调用setVisible(false)方法可以隐藏对话框。对话框可对各种窗口事件进行侦听,例如激活窗口和关闭窗口等。与框架类似,对话框也是顶层容器,可以向对话框的内容窗格中添加各种组件。

02 实例代码

实例代码如下

package com.java.pc;

import java.awt.BorderLayout;
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;

public class Subject implements ActionListener {
	JFrame frame;
	JDialog dialog;
	JButton button;
    public static void main(String args[])
    {
    	Subject s=new Subject();
    	s.go();
    }
    public void go()
    {
    	frame=new JFrame("JDialog Demo");
    	dialog=new JDialog(frame,"Dialog",true);
    	dialog.getContentPane().add(new JLabel("Hello,I`m a Dialog"));
    	dialog.setSize(60,40);
    	button=new JButton("Show Dialog");
    	button.addActionListener(this);
    	Container cp=frame.getContentPane();
    	cp.add(button,BorderLayout.SOUTH);
    	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	frame.setSize(200,150);
    	frame.setVisible(true);
    	
    }
	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		dialog.setVisible(true);
		
	}
}

最终实现效果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值