用 Java 建立彈出視窗

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 JOptionPane 建立彈出視窗
  2. 在 Java 中使用 JDialog 建立彈出視窗
用 Java 建立彈出視窗

Java 允許我們使用 AWT、Swing 和 JavaFX 等庫建立多種型別的 GUI 元件。在本教程中,我們將檢視對話方塊並學習如何建立它。在以下示例中,我們將使用兩個類,JOptionPaneJDialog

在 Java 中使用 JOptionPane 建立彈出視窗

建立 Java 彈出視窗或對話方塊的最簡單方法是使用 JOptionPane 類作為 javax.swing 包的一部分,它帶有許多有用的方法。下面列出了一些常用的技術:

方法 描述
顯示訊息對話方塊() 在指定的框架內顯示訊息
顯示輸入對話方塊() 在彈出視窗中獲取使用者的輸入
顯示確認對話方塊() 顯示訊息並要求使用者進行確認,例如是、否或取消

以下是這些方法的示例:

示例 1:通過建立 Jframe 物件,在 JFrame 中顯示訊息,呼叫 JOptionPane.showMessageDialog() 方法,並將第一個 jFrame 物件作為其第一個引數傳遞。第二個引數是我們想要在對話方塊中顯示的訊息。

import javax.swing.*;

public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    JOptionPane.showMessageDialog(jFrame, "Hello there! How are you today?");
  }
}

輸出:

java 彈出視窗 1

示例 2:此示例使用 JOptionPane.showInputDialog() 函式顯示帶有輸入欄位的訊息以獲取輸入。在這裡,為了儲存輸入,我們使用 String 變數,然後使用 showMessageDialog() 將其顯示給使用者。

import javax.swing.*;

public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    String getMessage = JOptionPane.showInputDialog(jFrame, "Enter your message");

    JOptionPane.showMessageDialog(jFrame, "Your message: " + getMessage);
  }
}

輸出:

java 彈出視窗 2

java 彈出視窗 3

示例 3:我們使用 JOptionPane.showConfirmDialog() 函式來顯示一個帶有三個按鈕的對話方塊:是、否和取消。就像其他方法一樣,我們傳遞一個 jFrame 物件和一個要顯示的訊息。showConfirmDialog() 方法返回一個 int,指定被單擊的按鈕:0 表示是,1 表示否,任何其他整數指定取消按鈕被單擊。

import javax.swing.*;

public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    int result = JOptionPane.showConfirmDialog(jFrame, "Press any button to close the dialog.");

    if (result == 0)
      System.out.println("You pressed Yes");
    else if (result == 1)
      System.out.println("You pressed NO");
    else
      System.out.println("You pressed Cancel");
  }
}

輸出:

java 彈出視窗 4

在 Java 中使用 JDialog 建立彈出視窗

在第二種方法中,我們使用 Jdialog 類。要建立框架,我們需要一個 jFrame 物件,當我們建立 JDialogjd 物件時,該物件作為引數傳遞給 JDialog() 的建構函式。現在我們需要設定對話方塊的佈局,指定如何在對話方塊內放置元件。我們設定了 FlowLayout() 函式,該函式使用 jd.setLayout() 將元件排列成一行。

要設定彈出視窗的位置和大小,我們使用 setBounds() 函式,其中前兩個引數是 x 和 y 位置,後兩個引數是寬度和高度。

我們建立了一個 jLabel 變數,其中包含在建構函式中傳遞的文字訊息以顯示文字。為了讓使用者能夠關閉對話方塊,我們建立了一個帶有文字 CloseJButton 物件。現在,我們必須設定單擊關閉按鈕時要執行的操作。為此,我們呼叫了 addActionListener() 函式,該函式覆蓋了我們指定要執行的操作的 actionPerformed() 方法。

最後,我們新增使用 jd.add() 建立的所有元件或物件。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();

    JDialog jd = new JDialog(jFrame);

    jd.setLayout(new FlowLayout());

    jd.setBounds(500, 300, 400, 300);

    JLabel jLabel = new JLabel("Press close button to close the dialog.");

    JButton jButton = new JButton("Close");
    jButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        jd.setVisible(false);
      }
    });

    jd.add(jLabel);
    jd.add(jButton);
    jd.setVisible(true);
  }
}

輸出:

java 彈出視窗 5

作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java GUI

相關文章 - Java Swing