Search code examples
javaswingjavafxawtawtrobot

Prevent JavaFX Window from Stealing Focus


I'm trying to make an overlay on the screen using JavaFX and an issue I'm having is that whenever my overlay pops up, it steals focus from whichever program I'm currently in. The issue with this is that my overlay allows the user to simulate keyboard key presses using the robot class (like an on-screen keyboard) and without keeping the focus in the original window, the typed characters have nowhere to go. I've tried setting the modality to none, but that's also the default option and it doesn't seem to be doing anything. Would putting my JavaFX scene in a JFrame work or is there some better way to do it only in JavaFX?


Solution

  • Try this

    when focused -> compute what you want to 
    then call Stage.toBack(); //the currently focused window prior to yours will gain focus back