我正在使用Netbeans 6.9.1
我试图以酒店注册表的形式制作一个Java桌面应用程序。在这个程序中,我有一系列JComboBox
让用户输入入住的人数,他们预订的那天等等。我想这样做,当按下按钮时,开关将会发生这种情况,检查框中是否选择无或实际项目。
我的问题是。如果没有输入一个或多个组合框,我怎么能这样做呢?它显示一条消息说明没有填写
这是我尝试的但它没有用。
case 1:
Hotel.getSelectedItem().toString().equals("None");
Out.setText("Missing Hotel Selection");
我的问题是,我怎样才能做到这一点?
我是Java的新手,所以请用我理解的术语解释。
答案 0 :(得分:1)
假设您有三个名为hotelSelection
,noOfPeople
,dayOfBooking
的JComboBox对象。所以首先使用以下代码为那些组合框设置名称。我们将在switch-case之后使用它。
hotelSelection.setName("Hotel Selection");
noOfPeople.setName("No of people");
dayOfBooking.setName("Day of booking");
现在,单击提交按钮时将调用下面的方法。
private void submitButtonClicked(java.awt.event.ActionEvent evt) {
// Array of all combobox in that you want to check
ArrayList<JComboBox> allCombobox = new ArrayList<>();
allCombobox.add(hotelSelection);
allCombobox.add(noOfPeople);
allCombobox.add(dayOfBooking);
for (JComboBox temp : allCombobox) {
switch (temp.getSelectedItem().toString()) {
case "None":
// If it is "hotel selection" combobox
if (temp.getName().equalsIgnoreCase("Hotel Selection"))
{
System.out.println("Missing Hotel Selection");
}
// If it is "no of people" combobox
else if (temp.getName().equalsIgnoreCase("No of people"))
{
System.out.println("Missing No of people");
}
// If it is "day of booking" combobox
else if (temp.getName().equalsIgnoreCase("Day of booking"))
{
System.out.println("Missing the Day of booking");
}
}
}
}
希望你找到答案。
答案 1 :(得分:0)
您可以使用类似......
的内容switch (Hotel.getSelectedItem().toString()) {
case "None":
break;
// Other cases
}
仔细查看The switch Statement了解更多详情