gpt4 book ai didi

矩形上的 JavaFx KeyEvent 不起作用

转载 作者:行者123 更新时间:2023-12-02 01:19:00 26 4
gpt4 key购买 nike

我在 GridPane 上有一个 矩形,添加 KeyEvent 后,它不会触发。这是我的代码:

    Rectangle rectangle = new Rectangle();
rectangle.setX(500.0f);
rectangle.setY(200.0f);
rectangle.setWidth(400.0f);
rectangle.setHeight(300.0f);

//add key event
rectangle.setOnKeyTyped(event->{
System.out.println("TYPED - Character: "+event.getCharacter()+
", Code: " + event.getCode() +
", Text: " +event.getText());
});

GridPane.setRowIndex(rectangle, 0);
GridPane.setColumnIndex(rectangle, 0);
gridPane.getChildren().add(rectangle);

按任意键不会打印任何内容。我的代码可能有什么问题?

最佳答案

问题是矩形没有焦点,并且 KeyEvents 不会在没有焦点的节点上触发。您可以通过调用 rectangle.requestFocus() 来请求焦点。似乎简单地点击它不会获得焦点,所以你必须“手动”给予它。如果你不想点击,你可以决定什么时候让矩形获得焦点,在它获得焦点后,它也会触发 keyEvents。

我提到的 onClick 看起来像这样:

矩形.setOnMouseClicked(事件 -> 矩形.requestFocus());

关于矩形上的 JavaFx KeyEvent 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58057275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com