package com.msksbr.MainFrm.MenuItemDiaog;

import com.msksbr.LoginFrm.ScreenSize;

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

/**
 * showMessae 类用于显示一个包含指定消息的模态对话框。
 */
public class showMessae extends JDialog {
    // 内容面板
    private JPanel contentPane;
    // 确认按钮
    private JButton buttonOK;
    // 用于显示消息的文本面板
    private JTextPane textPane1;

    /**
     * showMessae 构造函数，初始化对话框并设置相关属性。
     * @param message 要显示的消息内容
     * @param title 对话框的标题
     */
    public showMessae(String message, String title) {
        // 设置对话框的内容面板
        setContentPane(contentPane);
        // 设置对话框为模态对话框
        setModal(true);
        // 设置默认按钮为确认按钮
        getRootPane().setDefaultButton(buttonOK);

        // 为确认按钮添加事件监听器
        buttonOK.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // 点击确认按钮时执行的操作
                onOK();
            }
        });

        // 设置文本面板的内容为传入的消息
        this.textPane1.setText(message);
        // 设置对话框的标题
        this.setTitle(title);
        // 设置文本面板为不可编辑
        textPane1.setEditable(false);
        // 调整对话框大小以适应内容
        pack();
        // 设置对话框不可调整大小
        setResizable(false);
        // 设置对话框位置
        setCenterLocation();
        // 设置对话框可见
        setVisible(true);
    }

    /**
     * 设置对话框位置，使其居中显示在屏幕上。
     */
    public void setCenterLocation() {
        // 设置对话框位置，使其居中显示在屏幕上
        setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2);
    }

    /**
     * 点击确认按钮时执行的操作，关闭对话框。
     */
    private void onOK() {
        // 关闭对话框
        dispose();
    }
}
