0

实际上,我们需要可编辑的下拉菜单。所以我们已经更改了 setedtitable(true) 并添加了 StringConvertor。但是 KeyPressed 和 Keytyped 以前在过滤器不是 true 时工作。但现在它没有调用。谁能帮我避免这种情况?由于 keyPressed 未调用,过滤器无法正常工作....

4

1 回答 1

2

我处理这个的方法是获取 ComboBox 的 TextEditor 并添加 onKeyTyped 事件。

注意:如果 ComboBox 设置为可编辑,则返回 TextEditor。

例子:

package controller;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.collections.FXCollections;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyEvent;

public class AddDataController  implements Initializable {

    @FXML
    private ComboBox<String> groupName;

    @Override
    public void initialize(URL arg0, ResourceBundle arg1) {            
        groupName.setEditable(true);
        TextField tf = groupName.getEditor();
        tf.setOnKeyTyped(new EventHandler<KeyEvent>(){

            @Override
            public void handle(KeyEvent event) {
                // To Do
            }

        });
    }
}
于 2015-07-02T17:53:34.950 回答