当前位置: 首页 > 知识库问答 >
问题:

JavaFX可编辑组合框

孟福
2023-03-14

我正在尝试使用一个可编辑的组合框。因为我想添加一个用于按回车键的监听器。我尝试了下面的选项,但都不起作用。:(

< code>cmb_year是组合框对象。

cmb_year.setOnKeyPressed(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent t) {
            if (t.getCode() == KeyCode.ENTER) {
                System.out.println("Entered");
            } else if (t.getCode() == KeyCode.ESCAPE) {
                System.out.println("Entered");
            }else
            {


            }
        }
    });




cmb_year.getEditor().setOnKeyPressed(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent t) {
            if (t.getCode() == KeyCode.ENTER) {
                System.out.println("Entered");
            } else if (t.getCode() == KeyCode.ESCAPE) {
                System.out.println("Entered");
            }else
            {


            }
        }
    });

共有1个答案

潘哲
2023-03-14

您可以使用此代码:

cmb_year.addEventFilter(KeyEvent.KEY_PRESSED,new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent t) {
            if (t.getCode() == KeyCode.ENTER) {
                System.out.println("Entered");
            } else if (t.getCode() == KeyCode.ESCAPE) {
                System.out.println("Entered");
            }else
            {


            }
        }
    });
 类似资料:
  • 我正在尝试制作一个JavaFX,它能记住用户输入的条目的历史记录。添加新条目可以,但从下拉菜单中选择则不行。 简而言之,我正在努力让控制权 将最近键入的条目添加到顶部,作为组合框的第一项 清除下一个条目的部分 从中选择项目后,将把所选内容复制到,而不修改的项目 添加新项目工作正常,这是复制以前的条目到字段被证明是令人沮丧的。 我能找到的唯一类似问题是javafx combobox项目列表问题,不幸

  • 在JavaFX 8中,我尝试在将新行添加到表中后编辑单元格,以优化用户体验。 选择了正确的行,但单元不会进入编辑模式。嗯,我很偶然地看到了这种情况,但很难再现。我做错了什么?

  • 我试图在JavaFX中创建一个可编辑的TableView。我从2个连接的表中获取数据,所以我在TableView中使用对象。 我已经将表和列设置为可编辑,,我尝试对列的执行操作(例如,类似于textfield)。 我还没能解决这个问题。 那么,如何使包含对象的单元格可编辑呢?谢谢你的回答

  • 问题内容: 如果我想将cq5组件设置为在A页中可编辑但在B页中不可编辑,是否可以。 例如:在A页上,我有C组件,我们允许作者打开对话框并编辑该组件。但是我们不允许作者打开对话框来编辑页面B上的组件C。我尝试研究cq:EditConfig 链接,但这还不足以解决我的问题。 问题答案: 您可以在包含之前设置ComponentContext.BYPASS_COMPONENT_HANDLING_ON_IN

  • 我正在研究一个客户机-服务器解决方案,我有一个与我连接的客户机的ListView。用户应该能够通过编辑ListView中的名称来远程重命名客户端。我已经阅读了很多关于编辑ListView单元格的内容,但是我还没有找到一个很好的例子,我可以只更改类的成员属性。大多数示例都带有字符串列表,在我看来,如果ListView中的项不仅仅是字符串,这就不是现代软件开发了。 我要做的是更改客户端内部的属性。 n

  • 在阅读了大量涉及setOnEditCommit的可编辑TableView解决方案后,我今天对Oracle非常生气,这不是正确的方法。 以下是我在挖掘JavaFX源代码后发现的一个更好、更简单的解决方案: