好吧,我的措辞可能有点令人困惑,但让我解释一下。
String[] choices = { "John", "Bob", "Jenny"};
String input = (String) JOptionPane.showInputDialog(null, "Choose who you want to trade with",
"", JOptionPane.QUESTION_MESSAGE, null, choices,choices[1]);
System.out.println(input);
我从一些Java教程网站上获得了基本下拉菜单的代码。发生的是,输出只是名称,而不是我在互联网上找到的JOptionPane之类的东西,其中输出是数字:
Object[] options = {"Clothes", "Food", "Repair equipment", "Leave the shop"};
int Store = JOptionPane.showOptionDialog(null, "WELCOME TO THE GENERAL GOODS STORE, WHAT WOULD YOU LIKE\n you have $" + money, "Welcome",
JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
null, options, options[0]);
如果语句响应用户所做的选择,这将非常困难。如此一来,没有人说要做一个input.equals(“ John”)之类的事情,名字将被随机化,并且在它们前面有不同的短语,这将使这样做变得更加困难。好的,希望这是有道理的,而不仅仅是混乱的混乱。如果需要,我可以澄清一些要点。
答案 0 :(得分:0)
您可以将任何组件添加到JOptionPane,因此可以添加包含以下内容的JPanel:
基本代码是:
JPanel panel = new JPanel( new BorderLayout() );
panel.add(new JLabel("Choose who you want to trade with"), BorderLayout.PAGE_START);
panel.add(comboBox, BorderLayout.PAGE_END);
int result = JOptionPane.showConfirmDialog(
frame, // use your JFrame here
panel,
"Use a Panel",
JOptionPane.YES_NO_OPTION,
JOptionPane.PLAIN_MESSAGE);
if(result == JOptionPane.YES_OPTION)
{
int index = comboBox.getSelectedIndex();
}
else
{
System.out.println("Canceled");
}