modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/SplitMenuButtonBehavior.java
Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization
*** 1,7 ****
/*
! * Copyright (c) 2010, 2013, 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) 2010, 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
*** 24,35 ****
*/
package com.sun.javafx.scene.control.behavior;
import javafx.scene.control.SplitMenuButton;
! import java.util.ArrayList;
! import java.util.List;
import static javafx.scene.input.KeyCode.ENTER;
import static javafx.scene.input.KeyCode.SPACE;
import static javafx.scene.input.KeyEvent.KEY_PRESSED;
import static javafx.scene.input.KeyEvent.KEY_RELEASED;
--- 24,35 ----
*/
package com.sun.javafx.scene.control.behavior;
import javafx.scene.control.SplitMenuButton;
! import com.sun.javafx.scene.control.inputmap.InputMap;
!
import static javafx.scene.input.KeyCode.ENTER;
import static javafx.scene.input.KeyCode.SPACE;
import static javafx.scene.input.KeyEvent.KEY_PRESSED;
import static javafx.scene.input.KeyEvent.KEY_RELEASED;
*** 48,80 ****
* Creates a new SplitMenuButtonBehavior for the given SplitMenuButton.
*
* @param splitMenuButton the SplitMenuButton
*/
public SplitMenuButtonBehavior(final SplitMenuButton splitMenuButton) {
! super(splitMenuButton, SPLIT_MENU_BUTTON_BINDINGS);
}
/***************************************************************************
* *
* Key event handling *
* *
**************************************************************************/
! /**
! * The key bindings for the SplitMenuButton. Sets the Enter key as the means
! * to open the menu and the space key as the means to activate the action.
! */
! protected static final List<KeyBinding> SPLIT_MENU_BUTTON_BINDINGS = new ArrayList<KeyBinding>();
! static {
! SPLIT_MENU_BUTTON_BINDINGS.addAll(BASE_MENU_BUTTON_BINDINGS);
!
! /*
! * TODO: ButtonBehavior should define "Press" and "Release" in
! * constants.
! */
! SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(SPACE, KEY_PRESSED, "Press"));
! SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(SPACE, KEY_RELEASED, "Release"));
!
! SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(ENTER, KEY_PRESSED, "Press"));
! SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(ENTER, KEY_RELEASED, "Release"));
! }
}
--- 48,85 ----
* Creates a new SplitMenuButtonBehavior for the given SplitMenuButton.
*
* @param splitMenuButton the SplitMenuButton
*/
public SplitMenuButtonBehavior(final SplitMenuButton splitMenuButton) {
! super(splitMenuButton);
!
! /**
! * The key bindings for the SplitMenuButton. Sets the Enter key as the means
! * to open the menu and the space key as the means to activate the action.
! */
! addDefaultMapping(new InputMap.KeyMapping(SPACE, KEY_PRESSED, this::keyPressed));
! addDefaultMapping(new InputMap.KeyMapping(SPACE, KEY_RELEASED, this::keyReleased));
! addDefaultMapping(new InputMap.KeyMapping(ENTER, KEY_PRESSED, this::keyPressed));
! addDefaultMapping(new InputMap.KeyMapping(ENTER, KEY_RELEASED, this::keyReleased));
}
/***************************************************************************
* *
* Key event handling *
* *
**************************************************************************/
! // /**
! // * The key bindings for the SplitMenuButton. Sets the Enter key as the means
! // * to open the menu and the space key as the means to activate the action.
! // */
! // protected static final List<KeyBinding> SPLIT_MENU_BUTTON_BINDINGS = new ArrayList<KeyBinding>();
! // static {
! // SPLIT_MENU_BUTTON_BINDINGS.addAll(BASE_MENU_BUTTON_BINDINGS);
! //
! // SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(SPACE, KEY_PRESSED, "Press"));
! // SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(SPACE, KEY_RELEASED, "Release"));
! //
! // SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(ENTER, KEY_PRESSED, "Press"));
! // SPLIT_MENU_BUTTON_BINDINGS.add(new KeyBinding(ENTER, KEY_RELEASED, "Release"));
! // }
}