Erstellen Sie ein Dropdown-Menü in Java

Rupam Yadav 12 Oktober 2023
  1. Erstellen Sie ein Dropdown-Menü mit JOptionPane in Java
  2. Erstellen Sie ein Dropdown-Menü mit JComboBox in Java
Erstellen Sie ein Dropdown-Menü in Java

In diesem Tutorial erfahren wir, wie wir mit zwei Methoden ein Dropdown-Menü in Java erstellen können. Beide Techniken werden verwendet, um GUI-Komponenten zu erstellen, und das Dropdown-Menü ist eine davon.

Erstellen Sie ein Dropdown-Menü mit JOptionPane in Java

Die Klasse JOptionPane ist Teil des Pakets javax.swing, das hauptsächlich zum Erstellen von Dialogfeldern verwendet wird. In den Dialogfeldern können wir mehrere Arten von Elementen hinzufügen, und eine davon ist die Dropdown-Komponente. Im Beispiel erstellen wir ein String-Array optionsToChoose, das die Optionen enthält, die wir im Dropdown-Menü anzeigen möchten.

Dann rufen wir den Befehl JOptionPane.showInputDialog() auf, der mehrere Argumente benötigt; Zuerst ist die Elternkomponente, wo wir den Dialog an einen Rahmen wie JFrame anhängen können. Das zweite Argument ist die Nachricht, die neben der Dropdown-Liste angezeigt werden soll. Wir können auch den Titel des Dialogs setzen, der das dritte Argument ist, dann kommt der Nachrichtentyp, der so etwas wie ERROR_MESSAGE oder PLAIN_MESSAGE sein kann, aber wir verwenden QUESTION_MESSAGE.

Das nächste Argument ist das Symbol, das wir neben der Dropdown-Liste anzeigen können, aber wir setzen es auf null. Das sechste Argument ist das Array der Optionen, die in der Dropdown-Liste ausgewählt werden sollen, und das letzte Argument ist der Wert aus den Optionen, die als Standard ausgewählt werden sollen. Zuletzt erhalten wir den ausgewählten Wert von der Methode JOptionPane.showInputDialog() als String zurück und zeigen ihn in der Ausgabe an.

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

Ausgabe:

Java-Dropdown-Menü

Your chosen fruit : Apple

Erstellen Sie ein Dropdown-Menü mit JComboBox in Java

In diesem Beispiel verwenden wir die Funktion JComboBox, die Teil des Pakets javax.swing ist und dazu dient, eine Dropdown-Liste in einer Schnittstelle anzuzeigen. Im Folgenden erstellen wir zunächst das Array der Optionen, die in der Dropdown-Liste angezeigt werden sollen. JComboBox ist eine Komponente und benötigt einen Frame zum residieren, also erstellen wir ein JFrame-Objekt. Dann erstellen wir das Objekt JComboBox und übergeben das Options-Array als Argument im Konstruktor.

Die Position und Größe der Dialogbox legen wir mit der Funktion jComboBox.setBounds() fest. Dann erstellen wir ein JButton-Objekt, übergeben den darauf anzuzeigenden Text im Konstruktor und legen die Grenzen fest. Um schließlich eine Nachricht anzuzeigen, wenn eine Option aus dem Dropdown-Menü ausgewählt wird, erstellen wir ein JLabel und legen seine Grenzen fest.

Als nächstes fügen wir alle Komponenten im JFrame mit jFrame.add() hinzu. Wir setzen das Layout von jFrame auf null und fixieren dessen Grösse und Sichtbarkeit. Am Ende des Codes fügen wir auch einen ActionListener-Befehl hinzu, der die Aktion des Buttons abhört und seine Methode actionPerformed() aufruft, um die Nachricht im JLabel mit der von uns gewählten Option anzuzeigen.

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

Ausgabe:

Java-Dropdown-Menü 2

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

Verwandter Artikel - Java GUI

Verwandter Artikel - Java Swing