如何从Jframe(文本字段)获取字符串并放在另一个jFrame(textArea)? - Netbeans - 很好解释

时间:2011-11-17 14:56:46

标签: java netbeans jframe textfield

这是我在这里发表的第一篇文章,但你在很多方面间接地帮助了我。但这种事情,如标题所说,我仍然无法弄明白。 我想我不需要说我在这样的事情上是一个菜鸟,任何形式的帮助都会很棒=] ..顺便说一下,我正在使用netbeans(Java)。

所以,这是我的问题:

  • 我有一个带有3个textFields的jFrame1。
  • 另外,在这个jFrame1中,我有一个按钮,应该执行以下操作: +浏览整个3个textFields,只选择“”和/或**之间的单词。不应使用其他词语。此外,此按钮应将我重定向到jFrame2。
  • 在另一个jFrame2中,3个textFields(jFram1)中的'special'字样应该放在jTextArea1里面。

这就是我迷失的地方。因为我无法找到一种方法来获取这些“特殊”词并将它们扔进那里。

让我在这里发布代码,所以你们可以仔细看看我正确/错误的做法:

//下面是Jframe1

public class JFrame1 extends javax.swing.JFrame {

        public TxtFieldsQuotationMarks tfqm = new TxtFieldsQuotationMarks();
        public TxtFieldsAsterisk tfa = new TxtFieldsAsterisk();

public JFrame1() 
            {                
            initComponents();           
            }

//下面是我为支持JFrame1中的textField而创建的类<​​/ p>

public class TxtFieldsQuotationMarks 
  {
    public String field1;
    public String field2;
    public String field3;
  }

public class TxtFieldsAsterisk 
  {
    public String field1;
    public String field2;
    public String field3;
  }

// Bellow,应该发挥作用的功能(找到那些'特殊词')

private String Get_Fields_FindWords()(String Value)
{
    if  (Value.isEmpty())
    {
       return "";
    }
    else
    {
      String AuxStr = Value.substring(Value.indexOf('"'),Value.length());
      return AuxStr.substring(1, AuxStr.indexOf('"'));
    }
}


private String Get_Fields_Asterisk_FindWords(String Value)
{
    if  (Value.isEmpty())    

    {
       return "";
    }
    else
    {
      String AuxStr = Value.substring(Value.indexOf('*'),Value.length());
      return AuxStr.substring(1, AuxStr.indexOf('*'));
    }
}

//下面是JFrame1中的按钮,它应该找到单词并为我打开JFrame2这些单词(顶部的引号和下面的星号)

private void btnJFrame1ActionPerformed(java.awt.event.ActionEvent evt) 
   {

    Get_Fields_FindWords();
    Get_Fields_Asterisks_FindWords();
    JFrame2 jf2 = new JFrame2();
        jf2.setVisible(true);
   }

//下面,我试图实现的方法,以便在textFields中保存“特殊字”(这也是在JFrame1中)

public void Get_Fields()
    {
        fields.field1 = Return_StringQuotationMarks(txtField1.getText());
        fields.field2 = Retorna_StringAspas(txtField2.getText());
        fields.field3 = Retorna_StringAspas(txtField3.getText());
    }

public void Get_Fields_Asterisk()
    {
        fields_asterisk.field1 = Return_StringAsterisk(txtField1.getText());
        fields_asterisk.field2 = Return_StringAsterisk(txtField2.getText());
        fields_asterisk.field3 = Return_StringAsterisk(txtField3.getText());
    }

//最后,这是第二个JFrame(Jframe2),带有textArea(textArea)

public class JFrame2 extends javax.swing.JFrame {

        TxtFieldsQuotationMarks tfqm = new TxtFieldsQuotationMarks();
        TxtFieldsAsterisk tfa = new TxtFieldsAsterisk();


        public JFrame2() 
        {
            initComponents();
        }
}

那就是它,伙计们。我希望你能理解我正在做的事情,并能以某种方式帮助我。我真的需要尽快完成这件事。

1 个答案:

答案 0 :(得分:2)

嗯,我认为你可以通过JFrame2的构造函数传递创建的单词。例如:

private void btnJFrame1ActionPerformed(java.awt.event.ActionEvent evt) 
{
    JFrame2 jf2 = new JFrame2(
                              Get_Fields(txtField1.getText()),
                              Get_Fields(txtField2.getText()),
                              Get_Fields(txtField3.getText()),
                              Get_Fields_Asterisk(txtField1.getText()),
                              Get_Fields_Asterisk(txtField1.getText()),
                              Get_Fields_Asterisk(txtField1.getText()));
    jf2.setVisible(true);
}

JFrame2的构造函数:

public JFrame2(String field1, String field2, String field3, String asterisk1, String asterisk2, String asterisk3) 
{
    initComponents(field1, field2, field3, asterisk1, asterisk2, asterisk3);
}

然后,您可以使用在JFrame1中搜索的值初始化JFrame2中的组件。 您无需将其保存在初始化时只需要它的地方。