001 /*
002 * Copyright 2005 Sun Microsystems, Inc., 4150 Network Circle,
003 * Santa Clara, California 95054, U.S.A. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either
008 * version 2.1 of the License, or (at your option) any later version.
009 *
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013 * Lesser General Public License for more details.
014 *
015 * You should have received a copy of the GNU Lesser General Public
016 * License along with this library; if not, write to the Free Software
017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
018 */
019 package org.jdesktop.swingx.plaf;
020
021 import org.jdesktop.swingx.JXDatePicker;
022
023 import javax.swing.*;
024 import javax.swing.border.LineBorder;
025 import javax.swing.plaf.BorderUIResource;
026 import javax.swing.plaf.IconUIResource;
027 import java.util.Arrays;
028 import java.util.List;
029
030 /**
031 * @author Joshua Outwater
032 */
033 public class JXDatePickerAddon extends AbstractComponentAddon {
034 public JXDatePickerAddon() {
035 super("JXDatePicker");
036 }
037
038 @Override
039 protected void addBasicDefaults(LookAndFeelAddons addon, List<Object> defaults) {
040 super.addBasicDefaults(addon, defaults);
041 defaults.addAll(Arrays.asList(new Object[]{
042 defaults.add(JXDatePicker.uiClassID),
043 defaults.add("org.jdesktop.swingx.plaf.basic.BasicDatePickerUI"),
044 "JXDatePicker.linkFormat",
045 "Today is {0,date, dd MMMM yyyy}",
046 "JXDatePicker.longFormat",
047 "EEE MM/dd/yyyy",
048 "JXDatePicker.mediumFormat",
049 "MM/dd/yyyy",
050 "JXDatePicker.shortFormat",
051 "MM/dd",
052 "JXDatePicker.border",
053 new BorderUIResource(BorderFactory.createCompoundBorder(
054 LineBorder.createGrayLineBorder(),
055 BorderFactory.createEmptyBorder(3, 3, 3, 3))),
056 "JXDatePicker.numColumns",
057 10
058 }));
059 }
060
061 @Override
062 protected void addWindowsDefaults(LookAndFeelAddons addon, List<Object> defaults) {
063 super.addWindowsDefaults(addon, defaults);
064 defaults.addAll(Arrays.asList(new Object[] {
065 "JXDatePicker.arrowDown.image",
066 new IconUIResource(new ImageIcon(getClass().getResource("resources/combo-xp.png")))
067 }));
068 }
069
070 @Override
071 protected void addMacDefaults(LookAndFeelAddons addon, List<Object> defaults) {
072 super.addMacDefaults(addon, defaults);
073 defaults.addAll(Arrays.asList(new Object[] {
074 "JXDatePicker.arrowDown.image",
075 new IconUIResource(new ImageIcon(getClass().getResource("resources/combo-osx.png")))
076 }));
077 }
078 }