【问题标题】:How to get a String from a Jframe (textfield) and put on another jFrame (txtArea)? - Netbeans - Well Explained如何从 Jframe(文本字段)中获取字符串并放在另一个 jFrame(txtArea)上? - Netbeans - 很好的解释
【发布时间】:2011-11-17 14:56:46
【问题描述】:

这是我在这里的第一篇文章,但您在很多方面都间接地帮助了我。但是这种事情,就像标题说的那样,我还是想不通。 我想我不需要说我是这样的菜鸟,任何形式的帮助都会很棒 =] .. 顺便说一下,我正在使用 netbeans (Java)。

所以,这是我的问题:

  • 我有一个带有 3 个文本字段的 jFrame1。
  • 另外,在这个 jFrame1 中,我有一个按钮应该执行以下操作: +查看整个 3 个文本字段,只选择“”和/或 ** 之间的单词。不应使用其他词。此外,此按钮应将我重定向到 jFrame2。
  • 在另一个 jFrame2 中,应将在 3 个文本字段 (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();
        }
}

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

【问题讨论】:

    标签: java netbeans jframe textfield


    【解决方案1】:

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

    【讨论】:

    • 非常感谢您的快速回答,PhoneixS!我会试试看,然后我会告诉你发生了什么。
    • 没问题。我们在这里帮助他人。
    • 这样初始化很容易。但是假设您在 jFrame2 中还有一个保存按钮,它会将其中的一些值返回给 jFrame1。你怎么能这样做?
    • 你可以在 JFrame2 的构造函数中传递对 JFrame1 的引用,以便在需要时从 JFrame2 访问它。
    猜你喜欢
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多