Java 消息对话框(GUI)

Java 消息对话框(GUI)

消息对话框包含向用户展示的信息。消息对话框是通过JOptionPane.showMessageDialog()方法开发的。

要在应用程序中创建一个消息对话框,可以使用JOptionPane类的showMessageDialog()函数。该方法需要提供一些信息,如父组件引用、期望的消息内容和对话框的标题。此外,您可以选择四种常量(ERROR_MESSAGE WARNING_MESSAGE等)来指定消息的类型。

使用的方法

  • setLayout(…) - 此方法允许我们将容器的布局设置为任何我们想要的布局,例如流式布局、边界布局、网格布局或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);
   }
}

输出

Java 消息对话框(GUI)

示例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);
   }
}

输出

Java 消息对话框(GUI)

示例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);
   }
}

输出

Java 消息对话框(GUI)

示例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);
   }
}

输出

Java 消息对话框(GUI)

结论

为了高效地让用户了解情况,通常需要向他们展示一个清晰的UI元素,如消息对话框。调用JOptionPane的showMessageDialog()功能可以快速可靠地完成每次需要或需要用户输入的过程。可用于消息的标准设置选项包括四个不同的覆盖,用于特定情况:ERROR_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE和INFORMATION_MESSAGE。当然,由于我们还有另外五种补充方法可供我们使用,即-setLayout()、setBounds()、setVisible()、getSource()和add(),可以对UI中的任何消息类型进行精细调整。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程