关于javafx的键盘事件失效的问题

addHao 2020-06-16 06:48:48
事情的经过是,今天在学习javafx的键盘事件后就模仿书上的代码编写一个可以根据键盘的上下左右移动的文本,
但是后面发现毫无反应,最后测试了发现只有键盘事件没有反应。鼠标点击可以,按钮Button的键盘事件没有任何问题。
下面是测试的代码:

public class KeyEventDemo extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//创建一个普通面板 和文本
Pane pane = new Pane();
Button button = new Button("确定");
Text text = new Text(100,100,"ff");
pane.getChildren().addAll(button,text);
button.setOnKeyPressed(event -> System.out.println("dd"));
text.setOnKeyTyped(event -> System.out.println("tt"));
text.setOnMouseClicked(event -> System.out.println("ee"));

//创建场景Scene,将面板放入,最后将场景放入主舞台
Scene scene = new Scene(pane,200,200);
primaryStage.setScene(scene);
primaryStage.setTitle("cube");
primaryStage.show();
}
}

测试操作:对着文本点击了两下,随机按了3个键盘按钮
测试结果
ee
ee
dd
dd
dd
先说一下前提:书上说组件可以触发一个事件,那么它的子类组件也具有同样的效果。
最后重复一下问题,为何文本Text的对象的键盘事件无效?
...全文
430 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2020-06-16
  • 打赏
  • 举报
回复
text是文本显示,不是输入,所以没有键盘事件的处理

50,538

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧