JavaFX可编辑组合框

JavaFX可编辑组合框,javafx,javafx-8,Javafx,Javafx 8,我正在尝试使用可编辑的组合框。我想添加一个用于按ENTER键的侦听器。我尝试了以下选项,但都不起作用:( cmb\u year是组合框对象 cmb_year.setOnKeyPressed(new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent t) { if (t.getCode() == KeyCode.ENTER) {

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

cmb\u 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
            {


            }
        }
    });
cmb\u year.setOnKeyPressed(新事件处理程序(){
@凌驾
公共无效句柄(KeyEvent t){
if(t.getCode()==KeyCode.ENTER){
系统输出打印项次(“输入”);
}else if(t.getCode()==KeyCode.ESCAPE){
系统输出打印项次(“输入”);
}否则
{
}
}
});
cmb_year.getEditor().setOnKeyPressed(新事件处理程序(){
@凌驾
公共无效句柄(KeyEvent t){
if(t.getCode()==KeyCode.ENTER){
系统输出打印项次(“输入”);
}else if(t.getCode()==KeyCode.ESCAPE){
系统输出打印项次(“输入”);
}否则
{
}
}
});
您可以使用以下代码:

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
            {


            }
        }
    });
cmb\u year.addEventFilter(按KeyEvent.KEY\u,新建EventHandler()){
@凌驾
公共无效句柄(KeyEvent t){
if(t.getCode()==KeyCode.ENTER){
系统输出打印项次(“输入”);
}else if(t.getCode()==KeyCode.ESCAPE){
系统输出打印项次(“输入”);
}否则
{
}
}
});