JAVA中JDialog窗体

JDialog窗体是Swing组件中的对话框,它继承了AWT组件中的java.awt.Dialog类。
JDialog的功能是从一个窗体中弹出另一个窗体。JDialog窗体实质上就是另一种类型的窗体,它与JFrame窗体类似,在使用时也需要调用getContentPane()方法将窗体转换为容器,然后在容器中设置窗体的特性。
在应用程序中创建JDialog窗体需要实例化JDialog类,通常使用以下几个JDialog类的构造方法。

  1. public JDialog(): 创建一个没有标题和父窗体的对话框。
  2. public JDialog(Frame f):创建一个指定父窗体的对话框,但该窗体没有标题。
  3. public JDialog(Frame f,boolean model):创建一个指定父窗体的对话框,并指定类型,但该窗体没有标题。
  4. public JDialog(Frame f,String title):创建一个指定标题和父窗体的对话框。
  5. public JDialog(Frame f,String title,boolean model):创建一个指定标题、窗体和模式的对话框。

实例

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
class MyJDialog extends JDialog{
	public MyJDialog(MyFrame frame)
	{
		super(frame,"第一个JDialog窗体",true);//实例化一个JDialog类对象,指定对话框的父窗体、窗体标题和类型
		Container c = getContentPane();//创建一个容器
		c.add(new JLabel("这是一个对话框"));//在容器中添加标签
		setBounds(120,120,250,200);//设置对话框窗体大小
	}
}
public class MyFrame extends JFrame{
	public static void main(String[] args) {
		new MyFrame();
	}
	public MyFrame(){
		setTitle("窗体");
		setBounds(100,100,300,200);//设置窗体坐标和大小
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		//设置窗体关闭规则,关闭窗口时释放窗体资源
		Container c = getContentPane();//创建一个容器
		c.setLayout(null);//取消布局管理器
		JLabel jl = new JLabel("这是一个JFrame窗体");//在窗体中设置标签
		jl.setHorizontalAlignment(SwingConstants.CENTER);//将标签文字设置在标签中间位置
		c.add(jl);
		JButton bl = new JButton("弹出对话框");
		bl.setBounds(40, 40, 100, 20);
		bl.addActionListener(new ActionListener() {//为按钮添加鼠标单击事件
			public void actionPerformed(ActionEvent e) {
				new MyJDialog(MyFrame.this).setVisible(true);//使MYJDialog窗体可见
			}
		});
		c.add(bl);
		setVisible(true);//设置窗体为可见
	}
}

实验结果
JAVA中JDialog窗体_第1张图片
点击按钮
JAVA中JDialog窗体_第2张图片
从实例代码中可以看到,JDialog窗体与JFrame窗体形式基本相同,甚至在设置窗体的特性时调用的方法名称都基本相同,如设置窗体大小、窗体关闭状态等。

你可能感兴趣的:(JAVA中JDialog窗体)