📜  Java摇摆 |带有示例的 JDialog(1)

📅  最后修改于: 2023-12-03 14:43:01.223000             🧑  作者: Mango

Java摇摆 |带有示例的 JDialog

Java Swing提供了许多用于创建图形用户界面(GUI)的组件,其中JDialog是一个常用的对话框组件。本文将为您介绍如何创建并使用JDialog组件,附带示例代码供参考。

JDialog概述

JDialog是一个轻量级的窗口组件,通常用于弹出对话框。它继承了java.awt.Dialog,并提供了更高级的功能,如模态(modal)和非模态(non-modal)对话框、可调整大小的对话框、在父窗口中居中显示等。

创建一个简单的JDialog

首先,我们需要创建一个新的JDialog对象。下面是一个最简单的创建JDialog的代码片段:

JDialog dialog = new JDialog();

接下来,我们可以设置JDialog的标题和大小:

dialog.setTitle("My Dialog");
dialog.setSize(400, 300);

最后,我们需要设置JDialog是否模态。如果设置为true,它将阻止对话框的其余部分的用户输入,直到该对话框被关闭:

dialog.setModal(true);

现在,在我们调用dialog.setVisible(true);之前,我们可以将它添加到另一个容器中(例如,JFrame):

JFrame frame = new JFrame();
frame.getContentPane().add(dialog);
frame.pack();
frame.setVisible(true);

完整的代码如下:

import javax.swing.*;

public class MyDialog {
    public static void main(String[] args) {
        JDialog dialog = new JDialog();
        dialog.setTitle("My Dialog");
        dialog.setSize(400, 300);
        dialog.setModal(true);

        JFrame frame = new JFrame();
        frame.getContentPane().add(dialog);
        frame.pack();
        frame.setVisible(true);
    }
}
JDialog带有组件的示例

我们也可以在JDialog中添加更多的组件,例如JLabel和JButton。下面是一个示例代码,创建一个具有标签和按钮的对话框,并在单击按钮时将其关闭:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MyDialogWithComponents {
    public static void main(String[] args) {
        JDialog dialog = new JDialog();
        dialog.setTitle("My Dialog");
        dialog.setSize(400, 300);
        dialog.setModal(true);

        JPanel panel = new JPanel(new GridLayout(2, 1));

        JLabel label = new JLabel("Hello, World!");
        label.setHorizontalAlignment(SwingConstants.CENTER);
        label.setVerticalAlignment(SwingConstants.CENTER);
        panel.add(label);

        JButton button = new JButton("Close");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                dialog.dispose();
            }
        });
        panel.add(button);

        dialog.getContentPane().add(panel);

        JFrame frame = new JFrame();
        frame.getContentPane().add(dialog);
        frame.pack();
        frame.setVisible(true);
    }
}
结论

本文中,我们通过示例介绍了如何创建并使用JDialog组件。通过这些示例,您可以开始在自己的程序中使用JDialog来创建美观而强大的GUI。