package is_JScrollPane_1;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class Document {
public static void main(String[] args) {
TestFrame tf = new TestFrame();
tf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tf.setVisible(true);
}
}
class TestFrame extends JFrame {
private static final long serialVersionUID = 1L;
private JTextField originText, addText, resultText;
public TestFrame() {
setTitle("DocumentListener");
setSize(330, 300);
Container cc = this.getContentPane();
// 创建文档监视器
DocumentListener resultListener = new ResultListener();
JPanel textPanel = new JPanel();
originText = new JTextField("被加数", 20);
// 安装文档监视器
originText.getDocument().addDocumentListener(resultListener);
addText = new JTextField("加数", 20);
// 安装文档监视器
addText.getDocument().addDocumentListener(resultListener);
resultText = new JTextField("和:", 20);
resultText.setEditable(false);
textPanel.add(originText);
textPanel.add(addText);
textPanel.add(resultText);
cc.add(textPanel);
}
public void getAnswer() {
try {
int add1, add2, answer;
String s;
add1 = Integer.parseInt(originText.getText().trim());
add2 = Integer.parseInt(addText.getText().trim());
answer = add1 + add2;
s = new String("和:" + answer);
resultText.setText(s);
} catch (Exception e) {
resultText.setText("请输入数值");
}
}
private class ResultListener implements DocumentListener {
public void changedUpdate(DocumentEvent e) {
getAnswer();
}
public void removeUpdate(DocumentEvent e) {
getAnswer();
}
public void insertUpdate(DocumentEvent e) {
getAnswer();
}
}
}