首页 > 编程笔记 > Java笔记 阅读:4

Java Swing JDialog对话框的用法(附带实例)

JDialog 对话框继承了 java.awt.Dialog 类,其功能是从一个窗体中弹出另一个窗体,如使用 IE 浏览器时弹出的确定对话框。

JDialog 对话框与 JFrame 窗体类似,被使用时也需要先调用 getContentPane() 方法把 JDialog 对话框转换为容器,再对 JDialog 对话框进行设置。

JDialog 类常用的构造方法如下:
【实例】在窗体中弹出对话框。创建 MyJDialog 类,使之继承 JDialog 窗体,在父窗体中添加按钮,当用户单击按钮时,弹出对话框。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class MyJDialog extends JDialog { // 自定义对话框类,继承 JDialog
    public MyJDialog(MyFrame frame) { // 调用父类构造方法,第一个参数是父窗体,第二个参数是窗体标题,第三个参数表示阻塞父窗体
        super(frame, "第一个 JDialog 窗体", true);
        Container container = getContentPane(); // 获取主容器
        container.add(new JLabel("这是一个对话框")); // 在容器中添加标签
        setBounds(120, 120, 100, 100); // 设置对话框窗体在桌面显示的坐标和大小
    }
}

public class MyFrame extends JFrame { // 自定义窗体类,继承 JFrame
    public MyFrame() { // 窗体的构造方法
        Container container = getContentPane(); // 获取窗体主容器
        container.setLayout(null); // 容器使用绝对布局
        JButton bl = new JButton("弹出对话框"); // 创建一个按钮
        bl.setBounds(10, 10, 100, 21); // 定义按钮在容器中的坐标和大小
        bl.addActionListener(new ActionListener() { // 为按钮添加单击事件
            public void actionPerformed(ActionEvent e) { // 单击事件触发的方法
                MyJDialog dialog = new MyJDialog(this); // 创建 MyJDialog 对话框
                dialog.setVisible(true); // 使对话框可见
            }
        });
        container.add(bl); // 将按钮添加到容器中
        setSize(200, 200); // 窗体的宽高
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 关闭窗体则停止程序
        setVisible(true); // 使窗体可见
    }

    public static void main(String args[]) {
        new MyFrame();
    }
}
运行结果如下图所示:


图:从父窗体中弹出对话框

相关文章