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

📄 jcalendar.java

📁 一个demo是关于swing
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

            if (evt.getPropertyName().equals("day")) {
                c.set(Calendar.DAY_OF_MONTH,
                    ((Integer) evt.getNewValue()).intValue());
                setCalendar(c, false);
            } else if (evt.getPropertyName().equals("month")) {
                c.set(Calendar.MONTH, ((Integer) evt.getNewValue()).intValue());
                setCalendar(c, false);
            } else if (evt.getPropertyName().equals("year")) {
                c.set(Calendar.YEAR, ((Integer) evt.getNewValue()).intValue());
                setCalendar(c, false);
            } else if (evt.getPropertyName().equals("date")) {
                c.setTime((Date) evt.getNewValue());
                setCalendar(c, true);
            }
        }
    }

    /**
     * Sets the background color.
     *
     * @param bg the new background
     */
    public void setBackground(Color bg) {
        super.setBackground(bg);

        if (dayChooser != null) {
            dayChooser.setBackground(bg);
        }
    }

    /**
     * Sets the calendar property. This is a bound property.
     *
     * @param c the new calendar
     *
     * @see #getCalendar
     */
    public void setCalendar(Calendar c) {
        setCalendar(c, true);
    }

    /**
     * Sets the calendar attribute of the JCalendar object
     *
     * @param c the new calendar value
     * @param update the new calendar value
     */
    private void setCalendar(Calendar c, boolean update) {
        Calendar oldCalendar = calendar;
        calendar = c;

        if (update) {
            // Thanks to Jeff Ulmer for correcting a bug in the sequence :)
            yearChooser.setYear(c.get(Calendar.YEAR));
            monthChooser.setMonth(c.get(Calendar.MONTH));
            dayChooser.setDay(c.get(Calendar.DATE));
        }

        firePropertyChange("calendar", oldCalendar, calendar);
    }

    /**
     * Enable or disable the JCalendar.
     *
     * @param enabled the new enabled value
     */
    public void setEnabled(boolean enabled) {
        super.setEnabled(enabled);

        if (dayChooser != null) {
            dayChooser.setEnabled(enabled);
            monthChooser.setEnabled(enabled);
            yearChooser.setEnabled(enabled);
        }
    }

    /**
     * Returns true, if enabled.
     *
     * @return true, if enabled.
     */
    public boolean isEnabled() {
        return super.isEnabled();
    }

    /**
     * Sets the font property.
     *
     * @param font the new font
     */
    public void setFont(Font font) {
        super.setFont(font);

        if (dayChooser != null) {
            dayChooser.setFont(font);
            monthChooser.setFont(font);
            yearChooser.setFont(font);
        }
    }

    /**
     * Sets the foreground color.
     *
     * @param fg the new foreground
     */
    public void setForeground(Color fg) {
        super.setForeground(fg);

        if (dayChooser != null) {
            dayChooser.setForeground(fg);
            monthChooser.setForeground(fg);
            yearChooser.setForeground(fg);
        }
    }

    /**
     * Sets the locale property. This is a bound property.
     *
     * @param l the new locale value
     *
     * @see #getLocale
     */
    public void setLocale(Locale l) {
        if (!initialized) {
            super.setLocale(l);
        } else {
            Locale oldLocale = locale;
            locale = l;
            dayChooser.setLocale(locale);
            monthChooser.setLocale(locale);
            firePropertyChange("locale", oldLocale, locale);
        }
    }

    /**
     * Sets the week of year visible.
     *
     * @param weekOfYearVisible true, if weeks of year shall be visible
     */
    public void setWeekOfYearVisible(boolean weekOfYearVisible) {
        dayChooser.setWeekOfYearVisible(weekOfYearVisible);
        setLocale(locale); // hack for doing complete new layout :)
    }

    /**
     * Gets the visibility of the decoration background.
     *
     * @return true, if the decoration background is visible.
     */
    public boolean isDecorationBackgroundVisible() {
        return dayChooser.isDecorationBackgroundVisible();
    }

    /**
     * Sets the decoration background visible.
     *
     * @param decorationBackgroundVisible true, if the decoration background
     *        should be visible.
     */
    public void setDecorationBackgroundVisible(
        boolean decorationBackgroundVisible) {
        dayChooser.setDecorationBackgroundVisible(decorationBackgroundVisible);
        setLocale(locale); // hack for doing complete new layout :)
    }

    /**
     * Gets the visibility of the decoration border.
     *
     * @return true, if the decoration border is visible.
     */
    public boolean isDecorationBordersVisible() {
        return dayChooser.isDecorationBordersVisible();
    }

    /**
     * Sets the decoration borders visible.
     *
     * @param decorationBordersVisible true, if the decoration borders should
     *        be visible.
     */
    public void setDecorationBordersVisible(boolean decorationBordersVisible) {
        dayChooser.setDecorationBordersVisible(decorationBordersVisible);
        setLocale(locale); // hack for doing complete new layout :)
    }

    /**
     * Returns the color of the decoration (day names and weeks).
     *
     * @return the color of the decoration (day names and weeks).
     */
    public Color getDecorationBackgroundColor() {
        return dayChooser.getDecorationBackgroundColor();
    }

    /**
     * Sets the background of days and weeks of year buttons.
     *
     * @param decorationBackgroundColor the background color
     */
    public void setDecorationBackgroundColor(Color decorationBackgroundColor) {
        dayChooser.setDecorationBackgroundColor(decorationBackgroundColor);
    }

    /**
     * Returns the Sunday foreground.
     *
     * @return Color the Sunday foreground.
     */
    public Color getSundayForeground() {
        return dayChooser.getSundayForeground();
    }

    /**
     * Returns the weekday foreground.
     *
     * @return Color the weekday foreground.
     */
    public Color getWeekdayForeground() {
        return dayChooser.getWeekdayForeground();
    }

    /**
     * Sets the Sunday foreground.
     *
     * @param sundayForeground the sundayForeground to set
     */
    public void setSundayForeground(Color sundayForeground) {
        dayChooser.setSundayForeground(sundayForeground);
    }

    /**
     * Sets the weekday foreground.
     *
     * @param weekdayForeground the weekdayForeground to set
     */
    public void setWeekdayForeground(Color weekdayForeground) {
        dayChooser.setWeekdayForeground(weekdayForeground);
    }

    /**
     * Returns a Date object.
     *
     * @return a date object constructed from the calendar property.
     */
    public Date getDate() {
        return new Date(calendar.getTimeInMillis());
    }

    /**
     * Sets the date. Fires the property change "date".
     *
     * @param date the new date.
     */
    public void setDate(Date date) {
        Date oldDate = calendar.getTime();
        calendar.setTime(date);

        yearChooser.setYear(calendar.get(Calendar.YEAR));
        monthChooser.setMonth(calendar.get(Calendar.MONTH));
        dayChooser.setDay(calendar.get(Calendar.DATE));

        firePropertyChange("date", oldDate, date);
    }
}

⌨️ 快捷键说明

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