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 }