Java でドロップダウンメニューを作成する
このチュートリアルでは、2つの方法を使用して Java でドロップダウンメニューを作成する方法を学習します。どちらの手法も GUI コンポーネントの作成に使用され、ドロップダウンメニューもその 1つです。
Java で JOptionPane
を使用してドロップダウンメニューを作成する
JOptionPane
クラスは javax.swing
パッケージの一部であり、主にダイアログボックスの作成に使用されます。ダイアログボックスでは、複数のタイプの要素を追加できます。そのうちの 1つはドロップダウンコンポーネントです。この例では、ドロップダウンメニューに表示するオプションを含む文字列配列 optionsToChoose
を作成します。
次に、複数の引数を取る JOptionPane.showInputDialog()
コマンドを呼び出します。1つ目は親コンポーネントで、ダイアログを JFrame
のようなフレームにアタッチできます。2 番目の引数は、ドロップダウンの横に表示するメッセージです。3 番目の引数であるダイアログのタイトルを設定してからメッセージタイプを設定することもできます。これは ERROR_MESSAGE
や PLAIN_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);
}
}
出力:
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);
}
});
}
}
出力:
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 での警告ポップアップ
- Java のボタングループ
- JProgressBar クラスを使用して Java プログレスバーを作成する
- Java の pack()メソッド
- JTextField から値を取得する