如何使jtextfield可以观察到许多jframes

时间:2017-11-07 13:09:13

标签: java

我需要一些帮助来弄清楚如何让一个文本字段可以观察到许多帧...它就像一个消息应用程序,所有帧都可以发送到该文本字段,所有这些都必须在更改时获得更新

3 个答案:

答案 0 :(得分:0)

我会遵循JavaFX方法,因为JTextField没有模型(就像JTextPane那样)。 (向视图组件添加侦听器并不完全是MVC。)

而不是更新JTextField有一个模型:StringProperty并更新它。让一个Observable监听器使用addListener来更新JTextField,以及所有其他监听器来更新所有帧。

答案 1 :(得分:-1)

JTextField有一个基础文档,它是一种模型。要观察文本,您可以这样做:

jTextField.getDocument().addDocumentListener(new DocumentListener() {
    @Override
    public void insertUpdate(DocumentEvent e) {
    }
    @Override
    public void removeUpdate(DocumentEvent e) {
    }
    @Override
    public void changedUpdate(DocumentEvent e) {
    }
});

答案 2 :(得分:-1)

尝试将其作为测试,您将看到只需要在需要具有相同信息的所有文本字段上设置相同的模型。

JTextField t1 = new JTextField();
JTextField t2 = new JTextField();
PlainDocument doc = new PlainDocument();
t1.setDocument(doc);
t2.setDocument(doc);
setLayout(new GridLayout(0, 1));
add(t1);
add(t2);