2015-05-04 68 views
0

您好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. 
      } 
     }); 

    }  

我无法使用拖放做到这一点,下降的方法,而它的工作对我来说就像我上面发布的例子一样。

任何帮助将是非常赞赏

+1

您不太可能想要在操作侦听器中添加文档侦听器。只需在设置GUI的地方添加文档侦听器。 – kiheru

回答

1

通常情况下,我们不把监听其它监听,这使得内监听到被多次调用里面。 清除以下代码。

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不可编辑的(在属性),并添加的DocumentListener到jTextField1像你这样的ActionListener它做了什么。

然后更新由GUI Builder中,创建了新加入的方法的文字,我认为是:

public void jTextField1RemoveUpdate(DocumentEvent de) 
public void jTextField1InsertUpdate(DocumentEvent de) 
每种方法

,您对jTextArea1.setText(jTextField1.getText()的调用);

+0

好吧,它帮助我清除了我们不能在任何其他侦听器中使用侦听器的概念,我尝试从我的文本框的动作侦听器复制粘贴我的代码到我的GUI的构造函数中,并且它工作,感谢Mate :) –

相关问题