简体   繁体   English

如何在Java日历中禁用日期范围

[英]How to Disable date ranges in java calendar

In my java project i want to disable a range of dates in the java calendar and could not be successful. 在我的Java项目中,我想禁用Java日历中的日期范围,但无法成功。 I'm using Netbeans as my IDE and JCalendar. 我使用Netbeans作为我的IDE和JCalendar。 Below is my code. 下面是我的代码。 Any help would be appreciated. 任何帮助,将不胜感激。

        ArrayList<JSONObject> arrays = new ArrayList<JSONObject>();

        for (int i = 0; i < n; i++) {
            JSONObject another_json_object = vacation_home_booking_data.getJSONObject(i);

            JSONObject[] jsons = new JSONObject[arrays.size()];
            arrays.toArray(jsons);
            String id = another_json_object.getString("id");
            String vh_id = another_json_object.getString("vh_id");
            String check_in = another_json_object.getString("check_in");
            String check_out = another_json_object.getString("check_out");
            String status = another_json_object.getString("status");
            //creating two arrays of checking and checkout
            //check_in_arr[i] = another_json_object.getString("check_in");
            //check_out_arr[i] = another_json_object.getString("check_out");
            System.out.println("ID is " + id + "vh id is " + vh_id + "check in is " + check_in + "check out is " + check_out);


             DateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
             try {
             Date date1 = formatter.parse(check_in);
             Date date2 = formatter.parse(check_out);

             jCalendar1.setSelectableDateRange(date1, date2);
             jCalendar1.setBackground(Color.yellow);


             //jCalendar1.setSelectedDate();
             } catch (ParseException ex) {
             Logger.getLogger(Calender.class.getName()).log(Level.SEVERE, null, ex);
             ex.printStackTrace();
             }


        }

Please see, if the below methods works for you: 请查看以下方法是否适合您:

  private DateChooserCombochooser; // Initialize this somewhere
  public void setMaxDate(Calendar aDate) {
        chooser.setMaxDate(aDate);
    }

    public void setMinDate(Calendar aDate) {
        chooser.setMinDate(aDate);
    }

Alternatively, try using setDefaultPeriods(PeriodSet periods) method in the API. 或者,尝试在API中使用setDefaultPeriods(PeriodSet periods)方法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM