首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >键盘与javafx (setOnKeyPressed)的关系

键盘与javafx (setOnKeyPressed)的关系
EN

Stack Overflow用户
提问于 2017-03-26 09:11:08
回答 1查看 146关注 0票数 0

我想将JavaFX按钮的操作绑定到键盘键上。

我需要以下功能:

  • 当我单击1时,应该触发“选择一个文件”的操作
  • 当我单击9时,应该触发“选择多文件”的操作
  • 当我单击Enter时,"OK“按钮的操作应该会触发
  • 当我单击Esc时,应触发“取消”按钮的操作。
EN

回答 1

Stack Overflow用户

发布于 2017-03-26 16:06:26

做这个,你可以用EventFilters

如果您希望只在按下一个键时才触发它:

代码语言:javascript
复制
addEventFilter(KeyEvent.KEY_PRESSED, event ->
{
    if(event.getCode().equals(KeyCode.DIGIT1))
    {
        System.out.println("1 Pressed");

        //Then either call the method directly
        selectOneFile();

        //Or fire the button
        selectOneFileBtn.fire();
    }
});

但是,正如@ItachiUchiha (和我)所建议的那样,您应该使用键的组合:

代码语言:javascript
复制
addEventFilter(KeyEvent.KEY_PRESSED, event ->
{
    if(event.isAltDown() && event.getCode().equals(KeyCode.DIGIT1))
    {
        System.out.println("Alt + 1 Pressed");

        //Then again, either call the method directly
        selectOneFile();

        //Or fire the button
        selectOneFileBtn.fire();
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43026983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档