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")); ! // } }