JCombobox和Switch语句

时间:2014-06-02 02:06:01

标签: java swing switch-statement jcombobox

我正在使用Netbeans 6.9.1 我试图以酒店注册表的形式制作一个Java桌面应用程序。在这个程序中,我有一系列JComboBox让用户输入入住的人数,他们预订的那天等等。我想这样做,当按下按钮时,开关将会发生这种情况,检查框中是否选择无或实际项目。

我的问题是。如果没有输入一个或多个组合框,我怎么能这样做呢?它显示一条消息说明没有填写

这是我尝试的但它没有用。

case 1:
    Hotel.getSelectedItem().toString().equals("None");                 
    Out.setText("Missing Hotel Selection");

我的问题是,我怎样才能做到这一点?

我是Java的新手,所以请用我理解的术语解释。

2 个答案:

答案 0 :(得分:1)

假设您有三个名为hotelSelectionnoOfPeopledayOfBooking的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了解更多详情