package com.msksbr.MainFrm.MenuItemDiaog;

import com.msksbr.LoginFrm.ScreenSize;

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

/**
 * AuthorDIalog 类用于显示作者信息的对话框。
 */
public class AuthorDIalog extends JDialog {
    // 内容面板
    private JPanel contentPane;
    // 确认按钮
    private JButton buttonOK;
    // 图标面板
    private JPanel iconPanel;

    /**
     * AuthorDIalog 构造函数，初始化对话框并设置相关属性。
     */
    public AuthorDIalog() {
        // 设置对话框的内容面板
        setContentPane(contentPane);
        // 设置对话框为非模态对话框
        setModal(false);
        // 设置默认按钮为确认按钮
        getRootPane().setDefaultButton(buttonOK);
        // 设置对话框初始不可见
        setVisible(false);

        // 创建作者标签并设置图标
        JLabel authorLabel = new JLabel();
        authorLabel.setIcon(new ImageIcon(AuthorDIalog.class.getResource("/com/msksbr/images/AuthorProfile.jpg")));

        // 将作者标签添加到图标面板
        iconPanel.add(authorLabel);

        // 设置对话框关闭时的操作
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        // 设置对话框标题
        setTitle("作者");

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

        // 设置对话框不可调整大小
        setResizable(false);
        // 设置对话框始终在最顶层显示
        setAlwaysOnTop(true);
        // 调整对话框大小以适应内容
        pack();
        // 设置对话框位置
        setLocation();
    }

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