Java Swing – JOptionPane showMessageDialog示例

这是JOptionPane类的showMessageDialog()方法的回顾。 这种方法是一种快速简便的方法,可以将发生的事情告诉用户。 可以使用以下参数组合调用showMessageDialog()

Component, Object
Component, Object, String, int
Component, Object, String, int, Icon
  1. 组件–第一个参数是一个组件,该组件确定显示对话框的框架; 如果为null,或者parentComponent没有框架,则使用默认框架。
  2. 对象–第二个参数可以是任何对象。 (在某些Java的旧版本中,当直接使用原始类型时,您可能会遇到编译器错误)
  3. 字符串–第三个参数是作为消息对话框窗口标题放置的字符串。
  4. int –字符串之后的int是MessageTypeJOptionPane的不同MessageTypes是:
    • 错误信息
    • INFORMATION_MESSAGE
    • 警告信息
    • QUESTION_MESSAGE
    • PLAIN_MESSAGE
  5. Icon –最后一个参数是显示在对话框中的Icon ,它将覆盖默认的MessageType图标。

1.组件与对象

使用消息对话框的最简单方法。 Component设置为null并使用String作为第二个参数的示例:

SimpleDialog1.java
package com.mkyong.messageDialog;

import javax.swing.JOptionPane;

public class SimpleDialog1 {

    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, "Simple Information Message");
    }

}

输出:

swing-dialog-1a

2.组件,对象,字符串和整数

在消息对话框中添加更多信息。 Component设置为null并以double作为第二个参数的示例:

SimpleDialog2a.java
package com.mkyong.messageDialog;

import javax.swing.JOptionPane;

public class SimpleDialog2a {

    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, 8.9, "This is not an integer.", JOptionPane.PLAIN_MESSAGE);
    }

}

输出:

swing-dialog-1b

错误消息的示例( Component设置为null, String Object ):

SimpleDialog2b.java
package com.mkyong.messageDialog;

import javax.swing.JOptionPane;

public class SimpleDialog2b {

    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, "Uh-oh!", "Error", JOptionPane.ERROR_MESSAGE);
    }

}

输出:

swing-dialog-1c

3.组件,对象,字符串,整数和图标

使您的消息对话框“更漂亮”。 从目录检索Icon示例:

SimpleDialog3a.java
package messageDialog;

import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class SimpleDialog3a {

    public static void main(String[] args){
        ImageIcon icon = new ImageIcon("src/images/turtle64.png");
        JOptionPane.showMessageDialog(null, "I like turtles.", 
                "Customized Dialog", JOptionPane.INFORMATION_MESSAGE, icon);
    }

}

输出:

swing-dialog-1d

Component设置为frame示例:

MessageDialogInFrame.java
package com.mkyong.messageDialog;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.awt.Color;

public class MessageDialogInFrame extends JFrame{

    public MessageDialogInFrame() {
        getContentPane().setBackground(Color.DARK_GRAY);
        setTitle("Message Dialog in Frame");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setResizable(false);
        setSize(400, 300);
        getContentPane().setLayout(null);
    }

    public static void main(String[] args){
        ImageIcon icon = new ImageIcon("src/images/turtle64.png");
        JOptionPane.showMessageDialog(new MessageDialogInFrame(), 
                "I appear as part of the frame!!", "Customized Dialog", 
                JOptionPane.INFORMATION_MESSAGE, icon);
    }

}

输出:

swing-dialog-1e

4.一个更高级的例子

在此示例中,我们将JPanel作为Object参数传递。 JPanel是自定义的,并且添加了JLabel 。 我们还使用对UIManager的调用来操纵OptionPane的大小。

MessageDialogPanel.java
package com.mkyong.messageDialog;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;

public class MessageDialogPanel {

    public static void main(String[] args){
        ImageIcon icon = new ImageIcon("src/images/turtle64.png");

        JPanel panel = new JPanel();
        panel.setBackground(new Color(102, 205, 170));
        panel.setSize(new Dimension(200, 64));
        panel.setLayout(null);

        JLabel label = new JLabel("Turtles are awesome!!! :D");
        label.setBounds(0, 0, 200, 64);
        label.setFont(new Font("Arial", Font.BOLD, 11));
        label.setHorizontalAlignment(SwingConstants.CENTER);
        panel.add(label);

        UIManager.put("OptionPane.minimumSize",new Dimension(300, 120));        
        JOptionPane.showMessageDialog(null, panel, "Customized Message Dialog", JOptionPane.PLAIN_MESSAGE, icon);
    }
}

输出:

swing-dialog-1f

参考文献

  1. 如何制作对话框
  2. JOption窗格类– Java 8 API

翻译自: https://mkyong.com/swing/java-swing-how-to-make-a-simple-dialog/

  • 8
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值