Xử lý sự kiện text changed cho 2 JtextField trong Java Swing

Chào anh em, mình có làm một cái Form chuyển đổi nhiệt độ như hình bên dưới, mình muốn là khi nhập nhiệt độ vào textfield trái thì kết quả sẽ được xử lý và hiện sang bên textfield kia.

Bây giờ mình addDocumentListener cho chỉ một JTextField bất kì thì kết quả như ý, nhưng khi add cho cả hai thì sinh ra lỗi giống trong này https://stackoverflow.com/questions/15206586/getting-attempt-to-mutate-notification-exception, tuy đã sửa và không sinh ra lỗi nữa nhưng bây giờ khi nhập số vào thì chương trình bị khựng rồi đứng lại luôn.

code của mình dùng Netbeans để sinh ra chứ không tự viết nên nhìn lộn xộn:
http://codepad.org/XcFnPQJG -> main
http://codepad.org/WwICoJEv -> code xử lý chuyển nhiệt độ

Thanks.

Vấn đề hiện tại của bạn mình nghĩ là do: bạn set dự kiện textchange cho cả 2 ô, thế nên khi ô 1 thay đổi thì ô 2 cũng thay đổi, sau khi ô 2 thay đổi xong thì lại nhận sự kiện, thế là nó lại thay đổi ô 1, xong đó ô 1 lại nhận sự kiện và thay đổi ô 2, cứ thế bị lặp vô hạn và đứng app.
Giờ để xử lý thì cũng đơn giản thôi, lúc người dùng focus vào ô 1 thì bạn remove sự kiện textchange của ô 2 đi, và tương tự với ô 2. Done :smiley:

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