<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5973155693085695594</id><updated>2012-02-16T07:18:47.636-08:00</updated><title type='text'>Experiments with Java</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://calendarcontrolinjavafx.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5973155693085695594/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://calendarcontrolinjavafx.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sai Pradeep Dandem</name><uri>http://www.blogger.com/profile/02256864179729070156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-a4xaq-iMh10/ThrslZ9Jv3I/AAAAAAAAEqo/wFZTBEno5rE/s220/DSC00062.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5973155693085695594.post-8743537934870363073</id><published>2012-01-01T07:35:00.000-08:00</published><updated>2012-01-12T19:03:19.349-08:00</updated><title type='text'>Calendar Control in JavaFX 2.0</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;It’s been great fun working with JavaFX 2.0. But before the release of Calendar Component in JavaFX I tried&amp;nbsp; to create my own custom calendar component and to an extent I am succeeded in creating it.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Before going in detail about the calendar, I would like to inform you all that I had referred the &lt;a href="http://www.lubber.de/extjs/datepickerplus/?&amp;amp;extv=3.3.1&amp;amp;lang=EN" target="_blank"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;EXTJS Calendar&lt;/b&gt;&lt;/a&gt; for the design reference. I tried to impose all the features that are present in that calendar.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The complete source code download you can find here.[&lt;b&gt;&lt;a href="http://code.google.com/p/javafx-calendar/downloads/detail?name=JavaFxCalendar_v0_4.zip&amp;amp;can=2&amp;amp;q=#makechanges" target="_blank"&gt; Download &lt;/a&gt;&lt;/b&gt;] or at the bottom of the post.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;About the Calendar&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The calendar component mainly contains two panes. &lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;One for showing the dates of the selected month (Base Pane) &lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Other for navigating between years and months (Top Pane)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;Here's output of the FXCalendar that is shown as demo&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ViEDbZTpcHc/TwBdPqgRpZI/AAAAAAAAFCE/0RoJg-gEeDw/s1600/basepane.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://4.bp.blogspot.com/-ViEDbZTpcHc/TwBdPqgRpZI/AAAAAAAAFCE/0RoJg-gEeDw/s320/basepane.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-15_SD38iXOk/TwBdt8l7MbI/AAAAAAAAFCQ/dJeEfycXPyY/s1600/toppane.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://4.bp.blogspot.com/-15_SD38iXOk/TwBdt8l7MbI/AAAAAAAAFCQ/dJeEfycXPyY/s320/toppane.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;On clicking the down arrow in the base pane, the top pane is displayed.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Desired month and year can be selected and upon clicking the "Ok" button, the month is displayed in the base pane.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;  &lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let’s dig deep into the component source code..&lt;/div&gt;&lt;div class="MsoNormal"&gt;It all starts with FXCalendar class which implements a simple HBox, &amp;nbsp;that consists of two children, a&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&amp;nbsp;TextField - to display the selected date or modify the date, and&lt;/li&gt;&lt;li&gt;&amp;nbsp;Button/Image -&amp;nbsp; to trigger the date picker pop up.&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal"&gt;FXCalendar class also contains few setter/getter methods which enable us to customize the calendar to a further extend. I will discuss about those methods later in the post.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left;"&gt;As the code for the classes are a bit large, I will just focus on the core part in the classes.&lt;br /&gt;The part of code in FXCalendar class is as below:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&lt;/span&gt;&lt;span style="color: #20124d;"&gt;public class FXCalendar extends HBox {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleIntegerProperty selectedDate = new SimpleIntegerProperty();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleIntegerProperty selectedMonth = new SimpleIntegerProperty();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleIntegerProperty selectedYear = new SimpleIntegerProperty();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleBooleanProperty triggered = new SimpleBooleanProperty();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private final SimpleObjectProperty&amp;lt;Color&amp;gt; baseColor = new SimpleObjectProperty&amp;lt;Color&amp;gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleDoubleProperty dateTextWidth = new SimpleDoubleProperty(74);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleObjectProperty&amp;lt;Date&amp;gt; value = new SimpleObjectProperty&amp;lt;Date&amp;gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private boolean showWeekNumber;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private FXCalendarUtility fxCalendarUtility;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private DateTextField dateTxtField;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private ChangeListener&amp;lt;Boolean&amp;gt; focusOutListener;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Popup popup;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private DatePicker datePicker;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private final SimpleObjectProperty&amp;lt;Locale&amp;gt; locale = new SimpleObjectProperty&amp;lt;Locale&amp;gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private final String DEFAULT_STYLE_CLASS = "fx-calendar";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public FXCalendar() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; super.getStyleClass().add(DEFAULT_STYLE_CLASS);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.locale.set(Locale.ENGLISH);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.baseColor.set(Color.web("#313131"));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //setSpacing(6);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; setAlignment(Pos.CENTER);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; configureCalendar();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; configureListeners();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void configureCalendar() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; final DateFormatValidator dateFormatValidator = new DateFormatValidator();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; fxCalendarUtility = new FXCalendarUtility();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popup = new Popup();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popup.setAutoHide(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popup.setAutoFix(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popup.setHideOnEscape(true);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler&amp;lt;KeyEvent&amp;gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void handle(KeyEvent event) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (KeyCode.UP.equals(event.getCode()) || KeyCode.DOWN.equals(event.getCode()) || KeyCode.ENTER.equals(event.getCode())) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; initiatePopUp();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; showPopup();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (KeyCode.TAB.equals(event.getCode())) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; hidePopup();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /* Creating the date text field. */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dateTxtField = new DateTextField();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dateTxtField.prefWidthProperty().bind(dateTextWidth);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.focusOutListener = new ChangeListener&amp;lt;Boolean&amp;gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void changed(ObservableValue&amp;lt;? extends Boolean&amp;gt; arg0, Boolean arg1, Boolean arg2) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Handling only when focus is out.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (!arg2) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String value = dateTxtField.getText();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(!dateFormatValidator.isValid(value)){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; clear(); // TODO : Error styling for invalid date format.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dateTxtField.setText(value);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Date date = fxCalendarUtility.convertStringtoDate(value);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (date != null) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; setValue(date);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO : Error styling the text field for invalid date&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // entry.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; clear();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dateTxtField.focusedProperty().addListener(this.focusOutListener);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /* Creating the date button. */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Button popupButton = new Button();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popupButton.getStyleClass().add("dateButton");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popupButton.setGraphic(FXCalendarUtility.getDateImage());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popupButton.setFocusTraversable(false);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; popupButton.setOnAction(new EventHandler&amp;lt;ActionEvent&amp;gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void handle(ActionEvent paramT) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; initiatePopUp();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; showPopup();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; getChildren().addAll(dateTxtField, popupButton);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #20124d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #20124d;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #20124d;"&gt;..&lt;/div&gt;&lt;div style="color: #20124d;"&gt;..&lt;/div&gt;&lt;div style="color: #20124d;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: #20124d;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;The DatePicker class &amp;nbsp;is resided in the PopUp control, and is the place where the BasePane and TopPane’s are instantiated. DatePicker is a stackpane which holds the TopPane and BasePane in it and toggles there visibility based on the controls.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;The code for the DatePicker is as below.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="color: #20124d;"&gt;public class DatePicker extends StackPane {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleIntegerProperty selectedDate = new SimpleIntegerProperty();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleIntegerProperty selectedMonth = new SimpleIntegerProperty();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SimpleIntegerProperty selectedYear = new SimpleIntegerProperty();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Rectangle2D calendarBounds = new Rectangle2D(100, 100, 205, 196);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private FXCalendar fxCalendar;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private BasePane basePane;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private TopPane topPane;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public DatePicker(FXCalendar fxCalendar) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.fxCalendar = fxCalendar;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; selectedDate.set(fxCalendar.getSelectedDate());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; selectedMonth.set(fxCalendar.getSelectedMonth());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; selectedYear.set(fxCalendar.getSelectedYear());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; fxCalendar.setLocale(Locale.ENGLISH);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; setPrefHeight(calendarBounds.getHeight());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; setPrefWidth(calendarBounds.getWidth());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; setAlignment(Pos.TOP_LEFT);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FXCalendarUtility.setBaseColorToNode(this, fxCalendar.getBaseColor());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; basePane = new BasePane(this); // Initiating the BasePane&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; topPane = new TopPane(this); // Initiating the TopPane&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; getChildren().addAll(basePane, topPane);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; showBasePane();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div class="MsoNormal" style="color: #20124d;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="color: #20124d;"&gt;&lt;br /&gt;..&lt;/div&gt;&lt;div class="MsoNormal" style="color: #20124d;"&gt;..&lt;/div&gt;&lt;div class="MsoNormal" style="color: #20124d;"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: #20124d;"&gt; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;br /&gt;The another important file required for implementing the FXCalendar controll is importing its related stylesheet file. The look and feel of the calendar can further be customized by changing the code of the &lt;b&gt;calendar_styles.css&lt;/b&gt; file.&lt;br /&gt;&lt;br /&gt;As the source code is already available in the &lt;b&gt;&lt;a href="http://code.google.com/p/javafx-calendar/downloads/detail?name=JavaFxCalendar_v0_4.zip&amp;amp;can=2&amp;amp;q=#makechanges" target="_blank"&gt;Download&lt;/a&gt;&lt;/b&gt; link, I am inclining more towards the functionality rather than the code. So I am skipping into the actual usage of this calendar and not showing the code of other important helper classes ( &lt;b&gt;BasePane&lt;/b&gt;, &lt;b&gt;TopPane&lt;/b&gt;, &lt;b&gt;FXCalendarCell&lt;/b&gt;, &lt;b&gt;FXCalendarControls&lt;/b&gt;, &lt;b&gt;FXCalendarUtility &lt;/b&gt;&amp;amp; &lt;b&gt;DateFormatValidator &lt;/b&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Usage of Calendar&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once the java package of &lt;b&gt;eight files&lt;/b&gt; is imported and the style sheet(&lt;b&gt;calendar_styles.css&lt;/b&gt;) is loaded to the scene., we are all set to use the calendar and play with it.&lt;br /&gt;&lt;br /&gt;The fxcalendar can be initiated as below.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #20124d;"&gt;&lt;i&gt;FXCalendar calendar = new FXCalendar();&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;As the FXCalendar is a customised HBox (as it extends HBox), it can be used just like a normal node and can be placed anywhere in the scene.&lt;br /&gt;&lt;br /&gt;The values (java.util.Date) can be set or get using the following methods.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #20124d;"&gt;&lt;i&gt;calendar.setValue(date);&lt;/i&gt;&lt;/div&gt;&lt;div style="color: #20124d;"&gt;&lt;i&gt;calendar.getValue();&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Some Additional Features of Calendar&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;1) &lt;b&gt;Internationalisation&lt;/b&gt;:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;The calendar can be made locale specific or can change its Locale dynamially by setting the corresponding java.util.Locale to the below method.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #20124d;"&gt;&lt;i&gt;FXCalendar calendar = FXCalendar();&lt;/i&gt;&lt;/div&gt;&lt;div style="color: #20124d;"&gt;&lt;i&gt;calendar.setLocale(Locale.FRENCH);&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Updates:&lt;/b&gt; Based on the comments of PhiLho, the week display implementation for Locale specific is modified. For example, for FRENCH locale the week starts with Monday, likewise for UK, ITALY..etc&lt;/i&gt;&lt;br /&gt;The FRENCH locale specific calendar is shown as below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-MakbIOpxPek/TwHJ_1Ksp7I/AAAAAAAAFDE/6vr0s5YDKss/s1600/french.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-MakbIOpxPek/TwHJ_1Ksp7I/AAAAAAAAFDE/6vr0s5YDKss/s1600/french.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;2) Week Number Display:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;The calendar can be set to show/off the display of the week numbers by the following method. By default it is set to false.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #20124d;"&gt;&lt;i&gt;FXCalendar calendar = new FXCalendar();&lt;/i&gt;&lt;/div&gt;&lt;i style="color: #20124d;"&gt;calendar.setShowWeekNumber(true);&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The week numbers are displayed in the calendar as below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1Wn9wkJ1uxM/TwBzVBKJGBI/AAAAAAAAFCo/lNGuT6DFd1w/s1600/weeknumber.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-1Wn9wkJ1uxM/TwBzVBKJGBI/AAAAAAAAFCo/lNGuT6DFd1w/s1600/weeknumber.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;3) Customizing Themes:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;The calendar theme can be set to suite to your application. The theme can be set by the following method.&lt;br /&gt;Note: Please make a note that it would be better if the base color is dark color, as the skin goes lighter from the base color.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #20124d;"&gt;&lt;i&gt;FXCalendar calendar = new FXCalendar();&lt;/i&gt;&lt;/div&gt;&lt;i style="color: #20124d;"&gt;calendar.setBaseColor(Color.web("#940C02"));&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The new theme of the calendar is displayed as below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LjnFog3YRR4/TwB2FVhxpFI/AAAAAAAAFC0/seJSKyDBvrA/s1600/theme.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-LjnFog3YRR4/TwB2FVhxpFI/AAAAAAAAFC0/seJSKyDBvrA/s1600/theme.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's it !!!!&lt;br /&gt;I hope this component can be helpful, to fill the gap till the actual JavaFX Calendar component is released.&lt;br /&gt;&lt;br /&gt;Download Link : &lt;a href="http://code.google.com/p/javafx-calendar/downloads/detail?name=JavaFxCalendar_v0_4.zip&amp;amp;can=2&amp;amp;q=#makechanges" target="_blank"&gt;JavaFxCalendar_v0_4.zip&lt;/a&gt;&lt;br /&gt;All the above features are demonstrated in the demo file&amp;nbsp; &lt;b&gt;FXCalendarDemo.java&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Happy Coding !! :)&lt;br /&gt;&lt;br /&gt;&lt;b style="color: red;"&gt;P.S&lt;/b&gt;&lt;span style="color: red;"&gt;: The code may be improvised a lot. But for conceptual point of view I tried maximum to keep everything in place.&lt;/span&gt; &lt;span style="color: red;"&gt;Feel free to optimise the code and use ;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5973155693085695594-8743537934870363073?l=calendarcontrolinjavafx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://calendarcontrolinjavafx.blogspot.com/feeds/8743537934870363073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://calendarcontrolinjavafx.blogspot.com/2012/01/calendar-control-in-javafx-20.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5973155693085695594/posts/default/8743537934870363073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5973155693085695594/posts/default/8743537934870363073'/><link rel='alternate' type='text/html' href='http://calendarcontrolinjavafx.blogspot.com/2012/01/calendar-control-in-javafx-20.html' title='Calendar Control in JavaFX 2.0'/><author><name>Sai Pradeep Dandem</name><uri>http://www.blogger.com/profile/02256864179729070156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-a4xaq-iMh10/ThrslZ9Jv3I/AAAAAAAAEqo/wFZTBEno5rE/s220/DSC00062.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ViEDbZTpcHc/TwBdPqgRpZI/AAAAAAAAFCE/0RoJg-gEeDw/s72-c/basepane.png' height='72' width='72'/><thr:total>14</thr:total></entry></feed>
