⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datepanel.java

📁 这个项目是为Java平台提供一个灵活的日历组件(Ok)
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                        dateSelectionModel.clearSelection();                        if (e.isShiftDown()) {                            dateSelectionModel.addSelectionInterval(                                    dateSelectionModel.getLeadSelectionDate(),                                    navigation.getTime());                        } else                            dateSelectionModel.addSelectionInterval(navigation                                    .getTime(), navigation.getTime());                    } else {                        if (e.isShiftDown()) {                            dateSelectionModel.addSelectionInterval(                                    dateSelectionModel.getLeadSelectionDate(),                                    navigation.getTime());                        } else {                            if (dateSelectionModel.isSelectedDate(navigation                                    .getTime())) {                                dateSelectionModel.removeSelectionInterval(                                        navigation.getTime(), navigation                                                .getTime());                            } else                                dateSelectionModel.addSelectionInterval(                                        navigation.getTime(), navigation                                                .getTime());                        }                    }                    dateSelectionModel.setLeadSelectionDate(navigation                            .getTime());                    calendar.setTime(navigation.getTime());                    monthpanel.repaint();                }                fireKeyListenerKeyPressed(e);            }            public void keyReleased(KeyEvent e) {                fireKeyListenerKeyReleased(e);            }            public void keyTyped(KeyEvent e) {                fireKeyListenerKeyTyped(e);            }        };        today.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                //Calendar cal = Calendar.getInstance();                setDate(new Date());                /*monthscroller.setMonth(cal.get(Calendar.MONTH));                yearscroller.setYear(cal.get(Calendar.YEAR));                monthpanel.setMonth(new Date());                monthpanel.setDay(new Date());*/            }        });    }    private void updateMonth() {        int month = calendar.get(Calendar.MONTH);        calendar.add(Calendar.MONTH, monthscroller.getMonth() - month);        monthpanel.setMonth(calendar.getTime());        refreshSelection();    }    private void updateYear() {        int year = calendar.get(Calendar.YEAR);        calendar.add(Calendar.YEAR, yearscroller.getYear() - year);        monthpanel.setMonth(calendar.getTime());        refreshSelection();    }    /**     * Sets the selected date. If the date is in other month, the month is also     * changed.     *      * @param d     *            new date     */    public void setDate(Date d) {        calendar.setTime(d);        int year = calendar.get(Calendar.YEAR);        int month = calendar.get(Calendar.MONTH);        if (year != yearscroller.getYear()) {            yearscroller.setYear(year);        }        if (month != monthscroller.getMonth()) {            monthscroller.setMonth(month);        }        monthpanel.setDay(d);        dateSelectionModel.setSelectedDate(d);        refreshSelection();    }    /**     * Returns the selected date.     *      * @return selected date     */    public Date getDate() {        return calendar.getTime();    }    /**     * Getter for property renderer.     *      * @return Value of property renderer.     */    public DayRenderer getRenderer() {        return monthpanel.getRenderer();    }    /**     * Setter for property renderer.     *      * @param renderer     *            New value of property renderer.     */    public void setRenderer(DayRenderer renderer) {        monthpanel.setRenderer(renderer);    }    /**     * Registers ChangeListener to receive events.     *      * @param listener     *            The listener to register.     */    public synchronized void addChangeListener(            javax.swing.event.ChangeListener listener) {        if (changeListenerList == null) {            changeListenerList = new java.util.ArrayList();        }        changeListenerList.add(listener);    }    /**     * Removes ChangeListener from the list of listeners.     *      * @param listener     *            The listener to remove.     */    public synchronized void removeChangeListener(            javax.swing.event.ChangeListener listener) {        if (changeListenerList != null) {            changeListenerList.remove(listener);        }    }    /**     * Notifies all registered listeners about the event.     *      * @param event     *            The event to be fired     */    private void fireChangeListenerStateChanged(            javax.swing.event.ChangeEvent event) {        java.util.ArrayList list;        synchronized (this) {            if (changeListenerList == null) {                return;            }            list = (java.util.ArrayList) changeListenerList.clone();        }        for (int i = 0; i < list.size(); i++) {            ((javax.swing.event.ChangeListener) list.get(i))                    .stateChanged(event);        }    }    /**     * Getter for property model.     *      * @return Value of property model.     */    public DataModel getModel() {        return monthpanel.getModel();    }    /**     * Setter for property model.     *      * @param model     *            New value of property model.     */    public void setModel(DataModel model) {        monthpanel.setModel(model);    }    /**     * Getter for property firstDayOfWeek.     *      * @return Value of property firstDayOfWeek.     */    public int getFirstDayOfWeek() {        return monthpanel.getFirstDayOfWeek();    }    /**     * Setter for property firstDayOfWeek.     *      * @param firstDayOfWeek     *            New value of property firstDayOfWeek.     */    public void setFirstDayOfWeek(int firstDayOfWeek) {        if ((firstDayOfWeek == Calendar.MONDAY)                || (firstDayOfWeek == Calendar.SUNDAY)) {            if (monthpanel.getFirstDayOfWeek() == firstDayOfWeek) return;            int old = monthpanel.getFirstDayOfWeek();            monthpanel.setFirstDayOfWeek(firstDayOfWeek);            refreshSelection();            repaint();            firePropertyChange("firstDayOfWeek", old, firstDayOfWeek);        }    }    /**     * Refreshes the showing of this component.     */    public void refresh() {        monthpanel.refresh();    }    /**     * Getter for property headerRenderer.     *      * @return Value of property headerRenderer.     */    public HeaderRenderer getHeaderRenderer() {        return monthpanel.getHeaderRenderer();    }    /**     * Setter for property headerRenderer.     *      * @param headerRenderer     *            New value of property headerRenderer.     */    public void setHeaderRenderer(HeaderRenderer headerRenderer) {        monthpanel.setHeaderRenderer(headerRenderer);    }    /**     * Getter for property value.     *      * @return Value of property value.     */    public Object getValue() {        return dateSelectionModel.getSelectedDate();    }    /**     * Setter for property value.     *      * @param value     *            New value of property value.     */    public void setValue(Object value) {        try {            setDate(CalendarUtils.convertToDate(value));        } catch (ParseException e) {            e.printStackTrace();        }    }    /**     * Sets the selected Dates.     * @param values values to set     */    public void setValues(Object[] values) {        dateSelectionModel.setSelectedDates(values);        refreshSelection();    }    /**     * Getter for property workingDays.     *      * @return Value of property workingDays.     */    public boolean[] getWorkingDays() {        boolean[] retorno = new boolean[workingDays.length];        for (int i = 0; i < workingDays.length; i++) {            retorno[i] = workingDays[i];        }        return retorno;    }    /**     * Setter for property workingDays.     *      * @param workingDays     *            New value of property workingDays.     */    public void setWorkingDays(boolean[] workingDays) {        if (workingDays == null) return;        boolean[] old = monthpanel.getWorkingdays();        monthpanel.setWorkingdays(workingDays);        for (int i = 0; i < workingDays.length && i < this.workingDays.length; i++) {            this.workingDays[i] = workingDays[i];        }        firePropertyChange("workingDays", old, workingDays);    }    /**     * Registers KeyListener to receive events.     *      * @param listener     *            The listener to register.     */    public synchronized void addKeyListener(java.awt.event.KeyListener listener) {        if (listenerList == null) {            listenerList = new javax.swing.event.EventListenerList();        }        listenerList.add(java.awt.event.KeyListener.class, listener);    }    /**     * Removes KeyListener from the list of listeners.     *      * @param listener     *            The listener to remove.     */    public synchronized void removeKeyListener(            java.awt.event.KeyListener listener) {        listenerList.remove(java.awt.event.KeyListener.class, listener);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -