在Java中,要实现一个模态对话框,可以使用JDialog
类,并设置其模式为Modal
。以下是一个简单的示例,展示了如何创建一个模态对话框:
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ModalDialogExample { public static void main(String[] args) { SwingUtilities.invokeLater(() -> createAndShowModalDialog()); } private static void createAndShowModalDialog() { // 创建主窗口 JFrame mainFrame = new JFrame("模态对话框示例"); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainFrame.setSize(400, 300); mainFrame.setLayout(new FlowLayout()); // 创建按钮,用于打开模态对话框 JButton showDialogButton = new JButton("显示模态对话框"); mainFrame.add(showDialogButton); // 创建模态对话框 JDialog modalDialog = new JDialog(mainFrame, "模态对话框", true); modalDialog.setSize(200, 100); modalDialog.setLayout(new FlowLayout()); // 添加对话框内容 JLabel dialogLabel = new JLabel("这是一个模态对话框"); modalDialog.add(dialogLabel); // 添加确认按钮 JButton confirmButton = new JButton("确认"); modalDialog.add(confirmButton); // 添加取消按钮 JButton cancelButton = new JButton("取消"); modalDialog.add(cancelButton); // 为确认按钮添加点击事件 confirmButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(modalDialog, "确认操作"); modalDialog.dispose(); } }); // 为取消按钮添加点击事件 cancelButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { modalDialog.dispose(); } }); // 显示主窗口 mainFrame.setVisible(true); } }
在这个示例中,我们首先创建了一个主窗口JFrame
,然后创建了一个模态对话框JDialog
,并设置了其模式为true
。接下来,我们向对话框中添加了一些内容(标签和按钮),并为确认和取消按钮添加了点击事件。当用户点击确认按钮时,会弹出一个消息框,然后关闭对话框;当用户点击取消按钮或点击主窗口的关闭按钮时,对话框也会关闭。