@Override
	public void installUI( JComponent c ) {
		// must get UI defaults here because installDefaults() is invoked after
		// installComponents(), which uses these values to create popup button

		padding = UIManager.getInsets( "ComboBox.padding" );

		arrowType = UIManager.getString( "Component.arrowType" );
		borderColor = UIManager.getColor( "Component.borderColor" );
		disabledBorderColor = UIManager.getColor( "Component.disabledBorderColor" );

		disabledBackground = UIManager.getColor( "ComboBox.disabledBackground" );

		buttonBackground = UIManager.getColor( "ComboBox.buttonBackground" );
		buttonArrowColor = UIManager.getColor( "ComboBox.buttonArrowColor" );
		buttonDisabledArrowColor = UIManager.getColor( "ComboBox.buttonDisabledArrowColor" );
		buttonHoverArrowColor = UIManager.getColor( "ComboBox.buttonHoverArrowColor" );
		buttonPressedArrowColor = UIManager.getColor( "ComboBox.buttonPressedArrowColor" );

		super.installUI( c );

		LookAndFeel.installProperty( datePicker, "opaque", false );

		// hack JXDatePicker.TodayPanel colors
		// (there is no need to uninstall these changes because only UIResources are used,
		// which are automatically replaced when switching LaF)
		JPanel linkPanel = datePicker.getLinkPanel();
		if( linkPanel instanceof JXPanel && linkPanel.getClass().getName().equals( "org.jdesktop.swingx.JXDatePicker$TodayPanel" ) ) {
			((JXPanel)linkPanel).setBackgroundPainter( null );
			linkPanel.setBackground( UIManager.getColor( "JXMonthView.background" ) );

			if( linkPanel.getComponentCount() >= 1 && linkPanel.getComponent( 0 ) instanceof JXHyperlink ) {
				JXHyperlink todayLink = (JXHyperlink) linkPanel.getComponent( 0 );
				todayLink.setUnclickedColor( UIManager.getColor( "Hyperlink.linkColor" ) );
				todayLink.setClickedColor( UIManager.getColor( "Hyperlink.visitedColor" ) );
			}
		}
	}
Provides the Flat LaF UI delegate for {@link org.jdesktop.swingx.JXDatePicker}.

@author Karl Tauber
flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java