2012-01-04 35 views
5

trong C# có một sự kiện cho textbox như sauJava tương đương với C# TextBox TextChanged sự kiện

private void fooText_TextChanged(object sender, EventArgs e) 
{ 
    //do something 
} 

mã kiểm tra vào fooText_TextChanged là bắn một khi văn bản trong hộp văn bản được thay đổi.

Tương đương với java này là gì? Hoặc làm thế nào một cái gì đó tương tự như thế này có thể đạt được trong java?

Cảm ơn mọi phản hồi/trợ giúp/lời khuyên.

Trả lời

10

Đối với Swing, Nếu bạn muốn được thông báo sau văn bản của thành phần văn bản đã thay đổi, bạn sẽ sử dụng một DocumentListener đã được thêm vào Tài liệu của JTextComponent. ví dụ,

JTextField myField = new JTextField(); 

    myField.getDocument().addDocumentListener(new DocumentListener() { 

    public void removeUpdate(DocumentEvent e) { 
     // TODO add code! 

    } 

    public void insertUpdate(DocumentEvent e) { 
     // TODO add code! 

    } 

    public void changedUpdate(DocumentEvent e) { 
     // TODO add code! 

    } 
    }); 

Nếu mặt khác, bạn muốn kiểm tra văn bản trước nó đã được cam kết với thành phần văn bản, bạn muốn thêm một DocumentFilter để tài liệu của JTextComponent.

+0

Cảm ơn bạn đã trả lời nhanh chóng, tôi sẽ kiểm tra điều này :) – Ari

+0

cảm ơn rất nhiều, hoạt động hoàn hảo :) – Ari

+0

Bạn đang khá hoan nghênh! –

4

Tôi khuyên bạn nên đăng ký DocumentListener vào tài liệu của thành phần . Trong đó, bạn sẽ nghe theo số DocumentEvent s.

+0

cảm ơn rất nhiều :) – Ari

+1

Thực ra bạn thêm DocumentListener vào Tài liệu chứ không phải thành phần. – camickr

+0

@camickr, Rất tiếc .. cảm ơn bạn! – mre

Các vấn đề liên quan