这是我在这里的第一个帖子,但是你已经在很多方面间接地帮助了我。但这种事,就像标题说的,我还是搞不懂。我想我不需要说我在这方面是个新手,任何形式的帮助都会很好。顺便说一下,我正在使用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中的组件。你不需要把它保存在某个地方,你只需要在初始化时使用它。