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 に答える