📜  java jpanel 弹出消息 - Java (1)

📅  最后修改于: 2023-12-03 15:31:31.186000             🧑  作者: Mango

Java JPanel 弹出消息

在 Java 中,我们可以使用 JPanel 来实现一个弹出消息的效果。JPanel 可以作为一个容器,可以放置其他组件,例如 JLabel、JButton 等等。通过 JPanel,我们可以实现自定义的弹出消息样式,可以添加图片、按钮等元素。

下面是一个简单的示例代码:

import javax.swing.*;

public class MessagePanel extends JPanel {
    private JLabel messageLabel;
    private JButton closeButton;

    public MessagePanel(String message) {
        messageLabel = new JLabel(message);
        closeButton = new JButton("关闭");

        add(messageLabel);
        add(closeButton);
    }

    public JButton getCloseButton() {
        return closeButton;
    }
}

我们可以将这个自定义的 JPanel 封装成一个 Dialog,然后在需要的时候弹出显示。下面是一个示例代码:

import javax.swing.*;

public class MessageDialog extends JDialog {
    private MessagePanel messagePanel;

    public MessageDialog(JFrame parent, String title, String message) {
        super(parent, title, true);

        messagePanel = new MessagePanel(message);

        getContentPane().add(messagePanel);

        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public JButton getCloseButton() {
        return messagePanel.getCloseButton();
    }
}

使用 MessageDialog 弹出消息的方式示例:

import javax.swing.*;

public class Example {
    public static void main(String[] args) {
        JFrame frame = new JFrame("主窗口");

        // 在主窗口中添加一个按钮,弹出消息框
        JButton popupButton = new JButton("弹出消息");
        popupButton.addActionListener(e -> {
            MessageDialog dialog = new MessageDialog(frame, "消息标题", "消息内容");
            dialog.getCloseButton().addActionListener(e1 -> dialog.dispose());
        });
        frame.getContentPane().add(popupButton);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}

上述代码会在主界面添加一个按钮,点击这个按钮会弹出一个消息框,点击消息框中的关闭按钮,消息框会消失。

以上就是 Java JPanel 弹出消息的介绍,通过 JPanel,我们可以自定义消息弹出框的样式和内容。