java - 在文本字段中同时输入时无法更新文本区域

标签 java swing netbeans documentlistener

你好,guyz,我是 java swing 的新手,正在开发一个项目,我无法将我在文本字段中输入的文本更新到 java swing 中的文本区域,我正在使用这个 Example作为引用,但我正在使用 JFrame 表单在 Netbeans 中使用拖放来制作 GUI

这是我的代码

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:

      String s = this.jTextField1.getText();
      jTextArea1.setEditable(false);

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

            public void insertUpdate(DocumentEvent de) {
                jTextArea1.setText(s);
            }

            @Override
            public void removeUpdate(DocumentEvent de) {
                jTextArea1.setText(s);
            }

            @Override
            public void changedUpdate(DocumentEvent de) {
            //Plain text components don't fire these events.
            }
        });

    }     

我无法通过使用拖放方法来做到这一点,而它对我来说工作正常,就像我上面发布的示例一样。

任何帮助将不胜感激

最佳答案

通常,我们不会将一个监听器放在另一个监听器中,这会导致内部监听器被多次调用。 清除以下代码。

jTextArea1.setEditable(false);

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

    public void insertUpdate(DocumentEvent de) {
        jTextArea1.setText(s);
    }

    @Override
    public void removeUpdate(DocumentEvent de) {
        jTextArea1.setText(s);
    }

    @Override
    public void changedUpdate(DocumentEvent de) {
        //Plain text components don't fire these events.
    }
});

然后使用 Netbeans GUI Builder 使 jTextArea1 不可编辑(在“属性”中),并向 jTextField1 添加一个 DocumentListener,就像对其 ActionListener 所做的那样。

然后更新GUI Builder创建的新添加的方法中的文本,我认为是:

public void jTextField1RemoveUpdate(DocumentEvent de)
public void jTextField1InsertUpdate(DocumentEvent de)

在每个方法中,您都调用 jTextArea1.setText(jTextField1.getText());

关于java - 在文本字段中同时输入时无法更新文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30037286/

相关文章:

Java Gui,隐藏其中一些元素后元素之间的间隙

java - 在 JFreeChart 中显示值和系列名称

java - Java中相同值的字符串?

java - 如何通过按按钮重置 MDC 微调器(AutoCompleteTextview/ExposedDropdownMenu)中的选定项目

java - JFrame、JPanel 和 Gridlayout 问题

java - 将java swing应用程序连接到共享服务器上的ms access db的最佳方法?

java - JPanel 数组仅显示数组中的最后一个面板

java - 将请求从tomcat传输到apache

tomcat - 如何在 Tomcat 中为 CDI 配置 Weld?

java - JLabel 的图标属性未显示在 Netbeans Apache 11 的属性选项板中