在Java Swing中,要監聽JTextField
的文本更改事件,你可以使用DocumentListener
。以下是一個簡單的示例:
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
public class TextFieldChangeListener {
public static void main(String[] args) {
JFrame frame = new JFrame("JTextField Change Listener");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
JTextField textField = new JTextField();
textField.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
handleTextChange();
}
@Override
public void removeUpdate(DocumentEvent e) {
handleTextChange();
}
@Override
public void changedUpdate(DocumentEvent e) {
handleTextChange();
}
private void handleTextChange() {
System.out.println("Text has been changed to: " + textField.getText());
}
});
frame.add(textField);
frame.setVisible(true);
}
}
在這個例子中,我們創建了一個JTextField
并為其文檔添加了一個DocumentListener
。當文本發生更改時(無論是插入、刪除還是更改),都會調用handleTextChange
方法,該方法將打印出當前的文本內容。