Java でドロップダウンメニューを作成する

Rupam Yadav 2023年10月12日
  1. Java で JOptionPane を使用してドロップダウンメニューを作成する
  2. Java で JComboBox を使用してドロップダウンメニューを作成する
Java でドロップダウンメニューを作成する

このチュートリアルでは、2つの方法を使用して Java でドロップダウンメニューを作成する方法を学習します。どちらの手法も GUI コンポーネントの作成に使用され、ドロップダウンメニューもその 1つです。

Java で JOptionPane を使用してドロップダウンメニューを作成する

JOptionPane クラスは javax.swing パッケージの一部であり、主にダイアログボックスの作成に使用されます。ダイアログボックスでは、複数のタイプの要素を追加できます。そのうちの 1つはドロップダウンコンポーネントです。この例では、ドロップダウンメニューに表示するオプションを含む文字列配列 optionsToChoose を作成します。

次に、複数の引数を取る JOptionPane.showInputDialog() コマンドを呼び出します。1つ目は親コンポーネントで、ダイアログを JFrame のようなフレームにアタッチできます。2 番目の引数は、ドロップダウンの横に表示するメッセージです。3 番目の引数であるダイアログのタイトルを設定してからメッセージタイプを設定することもできます。これは ERROR_MESSAGEPLAIN_MESSAGE のようなものですが、QUESTION_MESSAGE を使用します。

次の引数は、ドロップダウンの横に表示できるアイコンですが、null として設定します。6 番目の引数は、ドロップダウンで選択するオプションの配列であり、最後の引数は、デフォルトとして選択されるオプションの値です。最後に、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 を使用してドロップダウンメニューを作成する

この例では、javax.swing パッケージの一部であり、インターフェイスにドロップダウンリストを表示するために使用される JComboBox 関数を使用します。以下では、最初にドロップダウンリストに表示するオプションの配列を作成します。JComboBox はコンポーネントであり、常駐するためにフレームが必要なので、JFrame オブジェクトを作成します。次に、JComboBox オブジェクトを作成し、コンストラクターの引数として options 配列を渡します。

jComboBox.setBounds() 関数を使用して、ダイアログボックスの位置とサイズを設定します。次に、JButton オブジェクトを作成し、コンストラクター内で表示するテキストを渡して、境界を設定します。最後に、ドロップダウンからオプションが選択されたときにメッセージを表示するために、JLabel を作成してその境界を設定します。

次に、jFrame.add() を使用して、JFrame にすべてのコンポーネントを追加します。jFrame のレイアウトを null に設定し、そのサイズと可視性を修正します。コードの最後に、ボタンによって実行されたアクションをリッスンし、そのメソッド actionPerformed() を呼び出して、選択したオプションを使用して JLabel にメッセージを表示する ActionListener コマンドも追加します。

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