Please attach the test case I mailed earlier to the JIRA issue. On Fri, Sep 26, 2014 at 1:42 PM, Stephen F Northover < steve.x.northo...@oracle.com> wrote:
> Agree. Suggest that we move the discussion to the JIRA to capture the > background information for whoever will address the bug. > > Steve > > > On 2014-09-26, 1:41 PM, Kevin Rushforth wrote: > >> It may or may not be a bug, but it will be good to investigate. >> >> -- Kevin >> >> >> Stephen F Northover wrote: >> >>> Two on Windows, one on Mac. See https://javafx-jira.kenai.com/ >>> browse/RT-38830 >>> >>> Steve >>> >>> On 2014-09-26, 1:25 PM, Stephen F Northover wrote: >>> >>>> This is on Mac. Will try Windows. >>>> >>>> Steve >>>> >>>> On 2014-09-26, 1:24 PM, Kevin Rushforth wrote: >>>> >>>>> Is this on a Mac or on Windows? I just ran your test case and I get >>>>> two runnables, which is what I would expect. >>>>> >>>>> -- Kevin >>>>> >>>>> >>>>> Stephen F Northover wrote: >>>>> >>>>>> I am only seeing the runnable fired once in FX 8u40. >>>>>> >>>>>> Steve >>>>>> >>>>>> Steps: >>>>>> >>>>>> 1) Run TestKeyCombination >>>>>> 2) Press Control+- >>>>>> >>>>>> Here is the test code: >>>>>> >>>>>> import javafx.application.Application; >>>>>> import javafx.scene.Group; >>>>>> import javafx.scene.Scene; >>>>>> import javafx.scene.control.Button; >>>>>> import javafx.scene.input.KeyCharacterCombination; >>>>>> import javafx.scene.input.KeyCode; >>>>>> import javafx.scene.input.KeyCodeCombination; >>>>>> import javafx.scene.input.KeyCombination; >>>>>> import javafx.stage.Stage; >>>>>> >>>>>> public class TestKeyCombination extends Application { >>>>>> public static void main(String[] args) { >>>>>> Application.launch(args); >>>>>> } >>>>>> >>>>>> @Override public void start(Stage stage) { >>>>>> stage.setTitle("Test KeyCombination"); >>>>>> Scene scene = new Scene(new Group(), 600, 450); >>>>>> Button button1 = new Button(); >>>>>> button1.setText("Click Me"); >>>>>> stage.setScene(scene); >>>>>> stage.show(); >>>>>> >>>>>> KeyCombination cmdMinus = new KeyCodeCombination(KeyCode.MINUS, >>>>>> KeyCombination.CONTROL_DOWN); >>>>>> KeyCombination cmdMinusFromCharacter = new >>>>>> KeyCharacterCombination("-", KeyCombination.CONTROL_DOWN); >>>>>> Runnable runnable = () -> System.out.println("HI"); >>>>>> scene.getAccelerators().put(cmdMinus, runnable); >>>>>> scene.getAccelerators().put(cmdMinusFromCharacter, runnable); >>>>>> } >>>>>> } >>>>>> >>>>>> >>>>>> On 2014-09-26, 1:01 PM, Scott Palmer wrote: >>>>>> >>>>>>> KeyCombination cmdMinus = new Key*Code*Combination(KeyCode.MINUS, >>>>>>> KeyCombination.CONTROL_DOWN); >>>>>>> KeyCombination cmdMinusFromCharacter = new >>>>>>> Key*Character*Combination("-", >>>>>>> KeyCombination.CONTROL_DOWN); >>>>>>> >>>>>>> Using the above like this: >>>>>>> scene.getAccelerators().put(cmdMinus, runnable); >>>>>>> scene.getAccelerators().put(cmdMinusFromCharacter, runnable); >>>>>>> >>>>>>> Will result in the runnable being fired twice from the same keypress. >>>>>>> >>>>>>> I propose changing the accelerator processing logic so that only one >>>>>>> runnable gets called as the intention appears to be that a >>>>>>> KeyCombination >>>>>>> can only have one runnable associated with it, but the logic in Map >>>>>>> doesn't >>>>>>> see the above two KeyCombinations as the same key in the Map. >>>>>>> >>>>>>> Note: With the second combination above I really wanted something >>>>>>> that >>>>>>> worked for both MINUS and SUBTRACT simultaneously - since they both >>>>>>> type >>>>>>> the same Character and only one accelerator can be set on a MenuItem. >>>>>>> >>>>>>> Scott >>>>>>> >>>>>> >>>>>> >>>> >>> >