Java(GUI)中的消息对话框
消息对话框向用户显示信息。消息对话框使用 `JOptionPane.showMessageDialog()` 方法创建。
要在应用程序中创建消息对话框,请使用 `JOptionPane` 类的 `showMessageDialog()` 函数。此方法需要一些信息,例如父组件引用、所需的消息内容和对话框标题。此外,您可以为指定的消息类型选择四个常量之一(ERROR_MESSAGE、WARNING_MESSAGE 等)。
使用方法
`setLayout(...)` − 此方法使我们能够将容器(通常是 JPanel)的布局设置为我们希望添加的任何布局,例如 FlowLayout、BorderLayout、GridLayout 或 null。
`setBounds(...)` − 此方法仅在 JFrame 使用 null 布局时才有用,用于设置组件(如 JButton)的大小和位置。
`setVisible(...)` − 此方法用于设置 JFrame 的可见性。
setVisible(true) // used to set JFrame visible to the users. setVisible(false) // used to set JFrame not visible to the users.
`getSource(...)` − 对导致事件发生的元素的引用包含在事件对象中。我们使用 `getSource()` 方法从事件对象中获取引用。
`add(...)` − 此方法用于将组件(如 JButton 等)添加到 JFrame 中。
消息对话框示例
显示 ERROR_MESSAGE 的程序
// Java program to show ERROR_MESSAGE dialog 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 的程序
// Java program to show WARNING_MESSAGE dialog 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 的程序
// Java program to show QUESTION_MESSAGE 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 的程序
// Java program to show INFORMATION_MESSAGE 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 中对任何消息类型进行细粒度的调整。