@carlo.***merata
Чтобы заблокировать все горячие клавиши в окне JavaFX, вы можете использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import javafx.application.Application; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.input.KeyEvent; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { Button button = new Button("Button"); VBox root = new VBox(button); Scene scene = new Scene(root, 200, 200); scene.addEventFilter(KeyEvent.KEY_PRESSED, EventHandler::consume); scene.addEventFilter(KeyEvent.KEY_RELEASED, EventHandler::consume); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } |
В этом примере мы добавляем фильтры событий для нажатия и отпускания клавиш в сцену, которые вызывают метод EventHandler::consume
, чтобы потреблять все события клавиатуры и предотвращать их дальнейшую обработку. Это приведет к блокировке всех горячих клавиш в окне JavaFX.