更新時(shí)間:2022-10-20 09:47:10 來源:動(dòng)力節(jié)點(diǎn) 瀏覽4848次
該類JOptionPane是javax.swing包的一部分,主要用于創(chuàng)建對(duì)話框。在對(duì)話框中,我們可以添加多種類型的元素,其中之一就是下拉組件。在示例中,我們創(chuàng)建了一個(gè)字符串?dāng)?shù)組optionsToChoose,其中包含我們想要在下拉菜單中顯示的選項(xiàng)。
然后,我們調(diào)用JOptionPane.showInputDialog()帶有多個(gè)參數(shù)的命令;首先是父組件,我們可以在其中將對(duì)話框附加到像JFrame. 第二個(gè)參數(shù)是要在下拉列表旁邊顯示的消息。我們還可以設(shè)置對(duì)話框的標(biāo)題,這是第三個(gè)參數(shù),然后是消息類型,可以是 anERROR_MESSAGE或 a之類的任何東西PLAIN_MESSAGE,但我們使用QUESTION_MESSAGE.
下一個(gè)參數(shù)是我們可以在下拉列表旁邊顯示的圖標(biāo),但我們將其設(shè)置為 null。第六個(gè)參數(shù)是要在下拉列表中選擇的選項(xiàng)數(shù)組,最后一個(gè)參數(shù)是要選擇為默認(rèn)選項(xiàng)的值。最后,我們將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
在這個(gè)例子中,我們使用了JComboBox函數(shù),它是javax.swing包的一部分,用于在界面中顯示一個(gè)下拉列表。下面,我們首先創(chuàng)建要在下拉列表中顯示的選項(xiàng)數(shù)組。JComboBox是一個(gè)組件,需要一個(gè)框架來駐留,所以我們創(chuàng)建一個(gè)JFrame對(duì)象。然后,我們創(chuàng)建JComboBox對(duì)象并將選項(xiàng)數(shù)組作為其參數(shù)傳遞給構(gòu)造函數(shù)。
jComboBox.setBounds()我們使用該函數(shù)設(shè)置對(duì)話框的位置和大小。然后我們創(chuàng)建一個(gè)JButton對(duì)象,在構(gòu)造函數(shù)中傳遞要在其上顯示的文本,并設(shè)置邊界。最后,為了在從下拉列表中選擇一個(gè)選項(xiàng)時(shí)顯示一條消息,我們創(chuàng)建一個(gè)JLabel并設(shè)置它的邊界。
接下來,我們?cè)贘Frameusing中添加所有組件jFrame.add()。我們將布局設(shè)置jFrame為 null 并修復(fù)其大小和可見性。在代碼的最后,我們還添加了一個(gè)ActionListener命令,該命令偵聽按鈕執(zhí)行的操作并調(diào)用其方法actionPerformed()以顯示JLabel帶有我們選擇的選項(xiàng)的消息。
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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);
}
});
}
}
輸出:
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743