在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
。接下来,我们向对话框中添加了一些内容(标签和按钮),并为确认和取消按钮添加了点击事件。当用户点击确认按钮时,会弹出一个消息框,然后关闭对话框;当用户点击取消按钮或点击主窗口的关闭按钮时,对话框也会关闭。