在 Java 中建立下拉選單

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 JOptionPane 建立下拉選單
  2. 在 Java 中使用 JComboBox 建立下拉選單
在 Java 中建立下拉選單

在本教程中,我們將學習如何使用兩種方法在 Java 中建立下拉選單。這兩種技術都用於建立 GUI 元件,下拉選單就是其中之一。

在 Java 中使用 JOptionPane 建立下拉選單

JOptionPane 類是 javax.swing 包的一部分,主要用於建立對話方塊。在對話方塊中,我們可以新增多種型別的元素,其中之一就是下拉元件。在示例中,我們建立了一個字串陣列 optionsToChoose,其中包含我們想要在下拉選單中顯示的選項。

然後,我們呼叫帶有多個引數的 JOptionPane.showInputDialog() 命令;首先是父元件,我們可以在其中將對話方塊附加到像 JFrame 這樣的框架。第二個引數是在下拉選單旁邊顯示的訊息。我們還可以設定對話方塊的標題,這是第三個引數,然後是訊息型別,可以是 ERROR_MESSAGEPLAIN_MESSAGE 之類的任何內容,但我們使用 QUESTION_MESSAGE

下一個引數是我們可以在下拉選單旁邊顯示的圖示,但我們將其設定為 null。第六個引數是要在下拉選單中選擇的選項陣列,最後一個引數是要選擇為預設選項的值。最後,我們將 JOptionPane.showInputDialog() 方法返回的選定值作為字串獲取並顯示在輸出中。

import javax.swing.*;

public class DropDown {
  public static void main(String[] args) {
    String[] optionsToChoose = {"Apple", "Orange", "Banana", "Pineapple", "None of the listed"};

    String getFavFruit = (String) JOptionPane.showInputDialog(null,
        "What fruit do you like the most?", "Choose Fruit", JOptionPane.QUESTION_MESSAGE, null,
        optionsToChoose, optionsToChoose[3]);

    System.out.println("Your chosen fruit: " + getFavFruit);
  }
}

輸出:

Java 下拉選單

Your chosen fruit : Apple

在 Java 中使用 JComboBox 建立下拉選單

在這個例子中,我們使用 JComboBox 函式,它是 javax.swing 包的一部分,用於在介面中顯示下拉選單。下面,我們首先建立要顯示在下拉選單中的選項陣列。JComboBox 是一個元件,需要一個框架來駐留,所以我們建立了一個 JFrame 物件。然後,我們建立 JComboBox 物件並在建構函式中將選項陣列作為其引數傳遞。

我們使用 jComboBox.setBounds() 函式設定對話方塊的位置和大小。然後我們建立一個 JButton 物件,在建構函式中傳遞要在其上顯示的文字,並設定邊界。最後,為了在從下拉選單中選擇一個選項時顯示一條訊息,我們建立了一個 JLabel 並設定了它的邊界。

接下來,我們使用 jFrame.add()JFrame 中新增所有元件。我們將 jFrame 的佈局設定為 null 並固定其大小和可見性。在程式碼的末尾,我們還新增了一個 ActionListener 命令,該命令偵聽按鈕執行的操作並呼叫其方法 actionPerformed() 以使用我們選擇的選項在 JLabel 中顯示訊息。

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

public class DropDown {
  public static void main(String[] args) {
    String[] optionsToChoose = {"Apple", "Orange", "Banana", "Pineapple", "None of the listed"};

    JFrame jFrame = new JFrame();

    JComboBox<String> jComboBox = new JComboBox<>(optionsToChoose);
    jComboBox.setBounds(80, 50, 140, 20);

    JButton jButton = new JButton("Done");
    jButton.setBounds(100, 100, 90, 20);

    JLabel jLabel = new JLabel();
    jLabel.setBounds(90, 100, 400, 100);

    jFrame.add(jButton);
    jFrame.add(jComboBox);
    jFrame.add(jLabel);

    jFrame.setLayout(null);
    jFrame.setSize(350, 250);
    jFrame.setVisible(true);

    jButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        String selectedFruit = "You selected " + jComboBox.getItemAt(jComboBox.getSelectedIndex());
        jLabel.setText(selectedFruit);
      }
    });
  }
}

輸出:

Java 下拉選單 2

作者: 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