簡體   English   中英

JavaFX:ComboBox上的KeyTyped事件未觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM