Làm sao để lấy giá trị của textField trong javaFX mà không cần enter?

Blockquote
Chào mọi người em có 1 đoạn code trong javafx

textField.textProperty().addListener(new ChangeListener<String>() {
        @Override
        public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
            String s = newValue;
            ObservableList<Word> temp = FXCollections.observableArrayList();
            for (int i = 0; i < myDictionaryManagement.dictionary.getSize(); i++) {
                if (s.length() <= myDictionaryManagement.dictionary.getWord(i).length() && s.equals(myDictionaryManagement.dictionary.getWord(i).substring(0, s.length()))) {
                    //System.out.println(myDictionaryManagement.dictionary.getWord(i));
                    temp.add(myDictionaryManagement.dictionary.wordList.get(i));
                }
            }
            listView.setItems(temp);
            //lua chon phan tu thu 0 cua listView
            listView.getSelectionModel().selectIndices(0);
        }
        });

đoan chương trình trên e lấy trong bài từ điển của em ạ. Đoạn code là khi nào người dùng nhập vào textfield thì sẽ lấy giá trị textfied đó so sánh với các giá trị trong từ điển của em, nếu có từ nào giống thì list nó ở listView. Nhưng vấn đề ở đây là em chỉ có thể lấy được nó sau khi ấn phím enter.
Ví dụ nếu em nhập vào từ hel -> thì listview của em sẽ phải hiện hello, held, hell… tất cả sẽ bắt đầu bằng hel, và khi em nhập thêm chữ “l” nữa nó sẽ thành hell -> chỉ hiện ra hello, hell. Đại loại là vậy ạ. code của em chỉ làm được như vậy sau khi em ấn phím enter. còn nếu không nhập chán chê nó vẫn không in ra cái gì cả mong mọi người giúp em ạ.
2/ có 1 vấn để nữa em muốn hỏi là làm sao để làm phong phú vốn từ vựng trong từ điển của mình ạ ? thầy bảo input từ 1 file text, không lẽ em cứ phải gõ tưngf chữ một cho tới hàng trăm hàng ngàn chữ ạ ??
3/ Do bọn em hoc hướng đối tượng, mà trước đó chưa được học java, trên lớp cũng không dạy, mà tự nhiên cho bài tập lớn có cả đồ hoạ, nên mong bác nào biết nhiều hay có khả năng thì có thể cho em hỏi những thứ khác về javafx được không ạ ? EM đội ơn mọi người ạ !

Em đã fix được lỗi đó rồi ạ, Cảm ơn mọi người đã giúp đỡ, mọi người cho em hỏi thêm là cái ô mà khi mình nhập 1 từ vào nó sổ ra để cho mình lưạ chọn như thế này trong javafx nó gọi là gì ạ ?

Bạn nghiên cứu về cách sử dụng keyTyped trong KeyAdapter nhé.

Bạn có thể sử dụng Google API xem sao.

2 Likes

cái KeyAdapter đó là của javaSwing ạ ? tại em đang dùng javaFx ý ạ, không biết có phải cái keyListener không @@.

Có lẽ sự kiện chỉ xảy ra khi nhấn Enter.

Có hai cách:

em fix được rồi, cảm ơn bác ạ.

Autocomplete thì phải. 1 tính năng trong Textfield

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?