import java.awt.Color;
import java.awt.event.ActionListener;

import javax.swing.AbstractButton;
import javax.swing.JComponent;

import com.jidesoft.combobox.DateChooserPanel;
import com.jidesoft.combobox.DateExComboBox;
import com.jidesoft.combobox.DateModel;
import com.jidesoft.swing.JideButton;


public class ExtendJideDateExcomboTest extends DateExComboBox{
	
	
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	class ExtendedDateChooserPanel extends DateChooserPanel{
		
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		

		public ExtendedDateChooserPanel() {
			super();
		}
		
		@Override
		public void setForeground(Color fg) {
			
			super.setForeground(Color.ORANGE);


		}
		
		@Override
		public void setBackground(Color bg) {
			super.setBackground(bg);
		}
		
		protected AbstractButton createButton(String text,String mnemonic)
		{
			AbstractButton button = super.createButton( text, mnemonic );
			button.setForeground( Color.BLUE.darker());
			return button;
		}
		protected JComponent createDateLabel( final int i)
		{
			final JComponent comp = super.createDateLabel( i );

			JideButton lab = new JideButton( )
				{
					/**
					 * 
					 */
					private static final long serialVersionUID = 1L;

					public void setForeground(Color fg)
					{
						if( fg.equals( Color.BLUE.darker( )   ) )
						{
							super.setForeground(Color.BLUE);
						}
						else
						{
							super.setForeground(Color.BLUE.brighter());
						}
						
					}
				};
				lab.setFont( comp.getFont( ) );
				lab.setBorder( comp.getBorder( ) );
				ActionListener[ ] list = comp.getListeners( ActionListener.class );
				for( ActionListener al: list )
				{
					lab.addActionListener( al );
				}

			return lab;

		}
	}
	public ExtendJideDateExcomboTest() {
		super();
	}
	
	public ExtendJideDateExcomboTest(DateModel model) {
		super(model);
		setDateModel(model);
	}

	@Override
	protected DateChooserPanel createDateChooserPanel() {
		ExtendedDateChooserPanel dcp = new ExtendedDateChooserPanel();
		return dcp;
	}
	@Override
	public void setForeground(Color fg) {
		super.setForeground(Color.RED);
	}

	@Override
	public void setBackground(Color bg) {
		super.setBackground(bg);
	}
	
	
}
