[英]JavaFX: KeyTyped event on ComboBox not firing
我們公司最近收到了JavaFX應用程序的源代碼,我們將進一步開發它。 我目前正在設置開發環境,但遇到了Google無法解決的問題。
該應用程序包含一個自動完成組合框,當用戶輸入搜索字符串時,該組合框將過濾可用值。 代碼如下:
final ComboBox<Sifrant> inputCB = new ComboBox<Sifrant>();
inputCB.setId(formName + "_" + field);
inputCB.setEditable(true);
inputCB.setPrefWidth(nextControlDoubleSize ? 500 : 300);
inputCB.setOnKeyTyped(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
//etc. etc.
我知道這段代碼是正確的,因為它可以在我們客戶的演示系統上正常工作。
但是當我運行應用程序時,永遠不會執行handle方法。 但是如果我將keyTyped事件替換為keyReleased事件,它確實可以工作。
我的問題是,哪些因素可能會影響這種行為?
更改代碼是不可能的,因為無論如何它對於我們的客戶來說都是正確的。 此外,據我所讀,使用keyTyped事件應該比使用keyReleased更可取,因為它可以更好地處理鍵組合。
我正在使用NetBeans 8.0和Java 1.7.0_45運行該項目。 先前開發該應用程序的公司使用NetBeans 7.2.1和Java 1.7.0_6。
沒關系,這個問題有一個很明顯的答案。 當我切換到JDK 1.7.0_6時,一切都開始正常工作。
但是我想這個線程存在是有用的,以防其他人陷入類似的問題。
由於代碼顯然沒有錯,這可能意味着這是一個在1.7.0_6和1.7.0_45版本之間引入Java的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.