modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/DatePickerBehavior.java
Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization
*** 1,7 ****
/*
! * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 24,41 ****
*/
package com.sun.javafx.scene.control.behavior;
import javafx.scene.control.DatePicker;
import java.time.LocalDate;
- import java.util.ArrayList;
- import java.util.List;
- import com.sun.javafx.scene.control.skin.DatePickerSkin;
- import static javafx.scene.input.KeyCode.DOWN;
- import static javafx.scene.input.KeyCode.F4;
- import static javafx.scene.input.KeyCode.UP;
- import static javafx.scene.input.KeyEvent.KEY_RELEASED;
public class DatePickerBehavior extends ComboBoxBaseBehavior<LocalDate> {
/***************************************************************************
--- 24,36 ----
*/
package com.sun.javafx.scene.control.behavior;
import javafx.scene.control.DatePicker;
+ import javafx.scene.control.PopupControl;
+
import java.time.LocalDate;
public class DatePickerBehavior extends ComboBoxBaseBehavior<LocalDate> {
/***************************************************************************
*** 46,76 ****
/**
*
*/
public DatePickerBehavior(final DatePicker datePicker) {
! super(datePicker, DATE_PICKER_BINDINGS);
}
/***************************************************************************
* *
* Key event handling *
* *
**************************************************************************/
! protected static final List<KeyBinding> DATE_PICKER_BINDINGS = new ArrayList<KeyBinding>();
! static {
! DATE_PICKER_BINDINGS.addAll(COMBO_BOX_BASE_BINDINGS);
! }
!
! @Override public void onAutoHide() {
// when we click on some non-interactive part of the
// calendar - we do not want to hide.
! DatePicker datePicker = (DatePicker)getControl();
! DatePickerSkin cpSkin = (DatePickerSkin)datePicker.getSkin();
! cpSkin.syncWithAutoUpdate();
// if the DatePicker is no longer showing, then invoke the super method
// to keep its show/hide state in sync.
! if (!datePicker.isShowing()) super.onAutoHide();
}
}
--- 41,71 ----
/**
*
*/
public DatePickerBehavior(final DatePicker datePicker) {
! super(datePicker);
}
/***************************************************************************
* *
* Key event handling *
* *
**************************************************************************/
! /** {@inheritDoc} */
! @Override public void onAutoHide(PopupControl popup) {
// when we click on some non-interactive part of the
// calendar - we do not want to hide.
! if (!popup.isShowing() && getNode().isShowing()) {
! // Popup was dismissed. Maybe user clicked outside or typed ESCAPE.
! // Make sure DatePicker button is in sync.
! getNode().hide();
! }
// if the DatePicker is no longer showing, then invoke the super method
// to keep its show/hide state in sync.
! if (!getNode().isShowing()) {
! super.onAutoHide(popup);
! }
}
}