1616
1717package com .formdev .flatlaf .swingx .ui ;
1818
19+ import java .awt .Color ;
1920import java .awt .Insets ;
2021import java .util .Calendar ;
2122import javax .swing .JComponent ;
23+ import javax .swing .UIManager ;
2224import javax .swing .border .Border ;
2325import javax .swing .border .CompoundBorder ;
2426import javax .swing .border .EmptyBorder ;
@@ -52,6 +54,8 @@ protected CalendarRenderingHandler createRenderingHandler() {
5254 private static class FlatRenderingHandler
5355 extends RenderingHandler
5456 {
57+ private final Color todayColor = UIManager .getColor ( "JXMonthView.todayColor" );
58+
5559 @ Override
5660 public JComponent prepareRenderingComponent ( JXMonthView monthView , Calendar calendar ,
5761 CalendarState dayState )
@@ -67,8 +71,12 @@ public JComponent prepareRenderingComponent( JXMonthView monthView, Calendar cal
6771 Border b = c .getBorder ();
6872 if ( b instanceof CompoundBorder && ((CompoundBorder )b ).getInsideBorder () instanceof EmptyBorder )
6973 border = new CompoundBorder ( ((CompoundBorder )b ).getOutsideBorder (), new FlatEmptyBorder ( py * 2 , 0 , py * 2 , 0 ) );
70- } else if ( dayState == CalendarState .TODAY )
71- border = new FlatLineBorder ( new Insets ( py , px , py , px ), monthView .getTodayBackground () );
74+ } else if ( dayState == CalendarState .TODAY ) {
75+ Color lineColor = monthView .getTodayBackground ();
76+ if ( lineColor == null )
77+ lineColor = todayColor ;
78+ border = new FlatLineBorder ( new Insets ( py , px , py , px ), lineColor );
79+ }
7280
7381 if ( border == null )
7482 border = new FlatEmptyBorder ( py , px , py , px );
0 commit comments