如何从Jframe (textfield)获得字符串,并放在另一个Jframe (txtArea)?- Netbeans



这是我在这里的第一个帖子,但是你已经在很多方面间接地帮助了我。但这种事,就像标题说的,我还是搞不懂。我想我不需要说我在这方面是个新手,任何形式的帮助都会很好。顺便说一下,我正在使用netbeans (Java)。

那么,这是我的问题:

  • 我有一个jFrame1与3个textFields。
  • 另外,在这个jFrame1中,我有一个按钮,应该做以下事情:+查看整个3个textFields,只选择在"和/或**之间的单词。不应该使用其他词语。此外,这个按钮应该重定向到jFrame2。
  • 在其他jFrame2中,在3个textFields (jFram1)中发现的"特殊"单词应该放在那里,在jTextArea1中。

这就是我迷路的地方。因为我找不到一种方法来获得这些"特殊"的单词并把它们放在那里。

让我把代码贴在这里,这样你们就可以仔细看看我做的对/错:

//下面是Jframe1

public class JFrame1 extends javax.swing.JFrame {
        public TxtFieldsQuotationMarks tfqm = new TxtFieldsQuotationMarks();
        public TxtFieldsAsterisk tfa = new TxtFieldsAsterisk();
public JFrame1() 
            {                
            initComponents();           
            }

//下面是我为支持JFrame1

中的textFields而创建的类
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();
        }
}

差不多了,伙计们。我希望你能理解我在努力做什么,并能以某种方式帮助我。我真的需要这件事尽快完成。

我认为你可以通过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中的组件。你不需要把它保存在某个地方,你只需要在初始化时使用它。

相关内容

  • 没有找到相关文章

最新更新