📄 monthpanel.java
字号:
//and then retrieve the Weeknumbers int backToWeekStart=0; int value = calendar.get(Calendar.DAY_OF_WEEK); if (value == Calendar.SUNDAY) { backToWeekStart = -6; } else if (value == Calendar.MONDAY) { backToWeekStart = 0; } else if (value == Calendar.TUESDAY) { backToWeekStart = -1; } else if (value == Calendar.WEDNESDAY) { backToWeekStart = -2; } else if (value == Calendar.THURSDAY) { backToWeekStart = -3; } else if (value == Calendar.FRIDAY) { backToWeekStart = -4; } else if (value == Calendar.SATURDAY) { backToWeekStart = -5; } if (calendar.getFirstDayOfWeek() == Calendar.MONDAY) { calendar.add(Calendar.DATE, backToWeekStart ); } else { calendar.add(Calendar.DATE, backToWeekStart - 1 ); } for (int i = 0; i < weeks.length; i++) { weeks[i].setValue(Integer.toString(calendar.get(Calendar.WEEK_OF_YEAR))); calendar.add(Calendar.DATE,7); //jump to next week } } repaint(); fireChangeEvent(new ChangeEvent(this)); } /** * Refreshes the showing of this component. */ public void refresh() { for (int i = 0; i < paneles.length; i++) { for (int j = 0; j < paneles[i].length; j++) { if (model != null) { paneles[i][j].setData(model.getData(paneles[i][j].getDate())); paneles[i][j].setPrintMoon(printMoon); } } } repaint(); } /** * Returns the currently selected day. * @return selected Date */ public Date getDay() { return date; } /** * Event fired every date selection change. * @param e event fired */ protected void fireChangeEvent(ChangeEvent e) { Iterator it = changelisteners.iterator(); while (it.hasNext()) { ((ChangeListener) it.next()).stateChanged(e); } } /** * Getter for property model. * * @return Value of property model. */ public DataModel getModel() { return this.model; } /** * Setter for property model. * * @param model * New value of property model. */ public void setModel(DataModel model) { this.model = model; } /** * Getter for property renderer. * @return Value of property renderer. */ public DayRenderer getRenderer() { return renderer; } /** * Setter for property renderer. * @param renderer New value of property renderer. */ public void setRenderer(DayRenderer renderer) { this.renderer = renderer; for (int i = 0; i < paneles.length; i++) { for (int j = 0; j < paneles[i].length; j++) { paneles[i][j].setRenderer(renderer); } } } /** * Getter for property headerRenderer. * @return Value of property headerRenderer. */ public HeaderRenderer getHeaderRenderer() { return this.headerRenderer; } /** * Setter for property headerRenderer. * @param headerRenderer New value of property headerRenderer. */ public void setHeaderRenderer(HeaderRenderer headerRenderer) { this.headerRenderer = headerRenderer; for (int i = 0; i < headers.length; i++) { headers[i].setRenderer(headerRenderer); } if (showWeekNumber) { for (int i = 0; i < weeks.length; i++) { weeks[i].setRenderer(headerRenderer); } } } /** * Specifies how many days should the first week of the year contain <br> * If not specified, i.e. 0, then no changes from the defaults are done * * @param number */ public void setMinimalDaysInFirstWeek(int number) { if (minimalDaysInFirstWeek != number) { minimalDaysInFirstWeek = number; setHeaders(); setMonth(getMonth()); } } /** * @return how many weekdays does the first week of the year have */ public int getMinimalDaysInFirstWeek() { return minimalDaysInFirstWeek; } /** * Getter for property workingdays. * @return Value of property workingdays. */ public boolean[] getWorkingdays() { return this.workingdays; } /** * Setter for property workingdays. * @param workingdays New value of property workingdays. */ public void setWorkingdays(boolean[] workingdays) { if (workingdays == null) return; this.workingdays = workingdays; for (int i = 0; i < paneles.length; i++) { for (int j = 0; j < paneles[i].length; j++) { paneles[i][j].setWorking(workingdays[dayorder[j + 1] - 1]); } } } /** * Getter for property firstDayOfWeek. * @return Value of property firstDayOfWeek. */ public int getFirstDayOfWeek() { return calendar.getFirstDayOfWeek(); } /** * Setter for property firstDayOfWeek. * @param firstDayOfWeek New value of property firstDayOfWeek. */ public void setFirstDayOfWeek(int firstDayOfWeek) { if ((firstDayOfWeek == Calendar.MONDAY) || (firstDayOfWeek == Calendar.SUNDAY)) { calendar.setFirstDayOfWeek(firstDayOfWeek); check.setFirstDayOfWeek(firstDayOfWeek); if (firstDayOfWeek == Calendar.SUNDAY) { dayorder = SUNDAYFIRST; } else dayorder = MONDAYFIRST; setHeaders(); setMonth(getMonth()); } setWorkingdays(getWorkingdays()); } /** * @return Returns the defaultWorking. */ public static boolean[] getDefaultWorking() { return DEFAULTWORKING; } /** * Enables or disables the component * @param b true for enabling */ public void setEnabled(boolean b) { for (int i=0; i < daypanels.length; i++) { daypanels[i].setComponentEnabled(b); } } /** * Getter for enabled property * @return true if it's enabled */ public boolean isEnabled() { return daypanels[0].isComponentEnabled(); } /** * @return Returns the antiAliased. */ public boolean isAntiAliased() { return antiAliased; } /** * @param antiAliased The antiAliased to set. */ public void setAntiAliased(boolean antiAliased) { this.antiAliased = antiAliased; for (int i=0; i < daypanels.length; i++) { daypanels[i].setAntiAliased(antiAliased); } for (int i=0; i < headers.length; i++) { headers[i].setAntiAliased(antiAliased); } if (showWeekNumber) { for (int i=0; i < weeks.length; i++) { weeks[i].setAntiAliased(antiAliased); } } repaint(); } /** * @return Returns the daypanels. */ protected DayPanel[] getDaypanels() { return daypanels; } /** * @param daypanels The daypanels to set. */ protected void setDaypanels(DayPanel[] daypanels) { this.daypanels = daypanels; } public Date getMinDate() { Calendar cal = new GregorianCalendar(); cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, (cal.get(Calendar.DAY_OF_MONTH) * -1) + 1); return cal.getTime(); } public Date getMaxDate() { Calendar cal = new GregorianCalendar(); cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, (cal.get(Calendar.DAY_OF_MONTH) * -1) + 1); cal.add(Calendar.MONTH,1); cal.add(Calendar.DAY_OF_YEAR, -1); return cal.getTime(); } /** * @return Returns the printMoon. */ public boolean isPrintMoon() { return printMoon; } /** * @param printMoon The printMoon to set. */ public void setPrintMoon(boolean printMoon) { if (this.printMoon != printMoon) { this.printMoon = printMoon; for (int i = 0; i < paneles.length; i++) { for (int j = 0; j < paneles[i].length; j++) { paneles[i][j].setPrintMoon(printMoon); } } } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -