Java 中的消息对话框 (GUI)
消息对话框包含向用户提供的信息。消息对话框是使用 JOptionPane.showMessageDialog() 方法开发的。
要在应用程序中建立消息对话框。利用属于 JOptionPane 类的 showMessageDialog() 函数。此方法需要诸如父组件引用、所需消息内容和对话框标题等信息。此外,您还可以为指定的消息类型选择四个常量之一(ERROR_MESSAGE WARNING MESSAGE 等)。
使用的方法
setLayout(…) − 方法使我们能够将容器(通常是 JPanel)的布局设置为我们希望添加到其中的任何布局,例如流布局、边框布局、网格布局或 null。
setBounds(…) − 方法仅在 JFrame 中使用 null 布局时才有用,并且用于设置 JButton 等组件的大小和位置。
setVisible(…) − 方法用于设置 JFrame 的可见性
setVisible(true) // 用于设置JFrame 对用户可见。 setVisible(false) // 用于将 JFrame 设置为对用户不可见。
getSource(..) − 对导致事件包含在事件对象中的元素的引用。我们利用 getSource() 方法从事件对象获取引用。
add(…) − 用于将 JButton 等组件添加到 JFrame 的方法。
消息对话框示例
显示 ERROR_MESSAGE 的程序
// 显示 ERROR_MESSAGE 对话框的 Java 程序
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class example extends JFrame implements ActionListener {
JButton b1;
example() {
this.setLayout(null);
b1 = new JButton("Button 1");
b1.setBounds(130, 05, 100, 50);
this.add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == b1) {
JOptionPane.showMessageDialog(this, "Enter a valid Number","ERROR", JOptionPane.ERROR_MESSAGE);
}
}
}
class MessageDialogs1 {
public static void main(String args[]) {
example f = new example();
f.setBounds(200, 200, 400, 300);
f.setResizable(false);
f.setVisible(true);
}
}
输出

示例 2:显示 WARNING_MESSAGE 的程序
// 显示 WARNING_MESSAGE 对话框的 Java 程序
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class example extends JFrame implements ActionListener {
JButton b1;
example() {
this.setLayout(null);
b1 = new JButton("Button 2");
b1.setBounds(130, 05, 100, 50);
this.add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == b1) {
JOptionPane.showMessageDialog(this, "Enter a valid String","WARNING", JOptionPane.WARNING_MESSAGE);
}
}
}
class MessageDialogs2 {
public static void main(String args[]) {
example f = new example();
f.setBounds(200, 200, 400, 300);
f.setResizable(false);
f.setVisible(true);
}
}
输出

示例 3:显示 QUESTION_MESSAGE 的程序
// 显示 QUESTION_MESSAGE 的 Java 程序
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class example extends JFrame implements ActionListener {
JButton b1;
example() {
this.setLayout(null);
b1 = new JButton("Button 3");
b1.setBounds(130, 05, 100, 50);
this.add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == b1) {
JOptionPane.showMessageDialog(this, "Do you want to quit", "Question", JOptionPane.QUESTION_MESSAGE);
}
}
}
class MessageDialogs3 {
public static void main(String args[]) {
example f = new example();
f.setBounds(200, 200, 400, 300);
f.setResizable(false);
f.setVisible(true);
}
}
输出

示例 4:显示 INFORMATION_MESSAGE 的程序
// 显示 INFORMATION_MESSAGE 的 Java 程序
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class example extends JFrame implements ActionListener {
JButton b1;
example() {
this.setLayout(null);
b1 = new JButton("Button 4");
b1.setBounds(130, 05, 100, 50);
this.add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == b1) {
JOptionPane.showMessageDialog(this, "You Pressed Button FOUR","INFORMATION",
JOptionPane.INFORMATION_MESSAGE);
}
}
}
class MessageDialogs4 {
public static void main(String args[]) {
example f = new example();
f.setBounds(200, 200, 400, 300);
f.setResizable(false);
f.setVisible(true);
}
}
输出

结论
要以有效的方式让用户了解情况,通常需要向他们呈现一个清晰的 UI 元素,如消息对话框。每次需要或要求用户输入时,调用 JOptionPane 的 showMessageDialog() 功能可轻松快速可靠地完成此过程。消息可用的标准设置选项包括四种不同的覆盖,用于特殊情况:ERROR_MESSSAGE、WARNING_MESSSAGE、QUESTION_MESSSAGE 和 INFORMATION_MESSSAGE。当然,由于我们还有另外五种补充方法可供使用,即 -setLayout ()、setBounds ()、setVisible ()、getSource () 和 add(),因此可以在 UI 中对任何消息类型进行细粒度的调整。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

