Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java:如何存储动态生成的文本字段的值_Java_Mysql_Swing_Netbeans 7 - Fatal编程技术网

java:如何存储动态生成的文本字段的值

java:如何存储动态生成的文本字段的值,java,mysql,swing,netbeans-7,Java,Mysql,Swing,Netbeans 7,我已经动态生成了文本字段。根据用户给定的数字生成多少文本字段。生成文本字段后,用户将在文本字段中插入姓名和联系人号码。所以我的问题是如何将这些值存储到数据库中。我正在使用Mysql。我知道getText()方法,但如何使用它呢?下面是动态生成的文本字段的代码 private void Extra() { if(no_of_people.getText().equals(" ")) { String st="The entry 'Number of People' should no

我已经动态生成了文本字段。根据用户给定的数字生成多少文本字段。生成文本字段后,用户将在文本字段中插入姓名和联系人号码。所以我的问题是如何将这些值存储到数据库中。我正在使用Mysql。我知道getText()方法,但如何使用它呢?下面是动态生成的文本字段的代码

private void Extra()
{   
if(no_of_people.getText().equals(" "))
{
    String st="The entry 'Number of People' should not be blank.";
    JOptionPane.showMessageDialog(null,st);
}    
try
{
String nop=(no_of_people.getText().toString());
int nop1 = Integer.parseInt(nop.trim());
int j=nop1;

Extra_people extrpeo=new Extra_people();
JPanel panel = new JPanel();
extrpeo.setSize(450,500);
extrpeo.setVisible(true);
extrpeo.setLayout(new java.awt.BorderLayout());
extrpeo.add(panel);
extrpeo.validate();
Vector textFieldVector = new Vector();
JLabel lb1,lb2;
JTextField tf,tf1;
int i=1;
while (i <= nop1) 
{
    lb1=new JLabel("Name "+i);
    panel.add(lb1);
    tf = new JTextField(10);
    textFieldVector.add(tf);
    panel.add(tf);
    //String value = tf.getText();
    lb2=new JLabel("Contact Number "+i);
    panel.add(lb2);
    tf1 = new JTextField(10);
    textFieldVector.add(tf1);
    panel.add(tf1);
    i++;
    }
    panel.validate();
    panel.repaint();
    }    
    catch(Exception e)
    {
        System.out.println(" "+e);
    }
    }
private void Extra()
{   
if(no of of_people.getText().equals(“”)
{
String st=“条目“人数”不应为空。”;
showMessageDialog(null,st);
}    
尝试
{
字符串nop=(没有人。getText().toString());
int nop1=Integer.parseInt(nop.trim());
int j=nop1;
Extra_people Extrapeo=新的Extra_people();
JPanel面板=新的JPanel();
外部设置尺寸(450500);
extrpeo.setVisible(真);
setLayout(新java.awt.BorderLayout());
外部添加(面板);
extrpeo.validate();
向量textFieldVector=新向量();
JLabel lb1,lb2;
JTextField,tf1;
int i=1;

而(i您可以将对所有
JTextField
的引用存储到
列表中,然后从那里您可以通过迭代列表来访问它们

您将需要两个这样的变量-

List<JTextField> yourArrayListForName = new ArrayList<JTextField>();
List<JTextField> yourArrayListForContact = new ArrayList<JTextField>();
然后,当您需要访问这些值时,请使用以下内容-

for(JTextField field : yourArrayListForName)
{
    field.getText();     // input will be obtained here
}

for(JTextField field : yourArrayListForContact)
{
    field.getText();     // input will be obtained here
}

您可以将对所有
JTextField
的引用存储到
列表中,然后从那里您只需迭代列表即可访问它们

您将需要两个这样的变量-

List<JTextField> yourArrayListForName = new ArrayList<JTextField>();
List<JTextField> yourArrayListForContact = new ArrayList<JTextField>();
然后,当您需要访问这些值时,请使用以下内容-

for(JTextField field : yourArrayListForName)
{
    field.getText();     // input will be obtained here
}

for(JTextField field : yourArrayListForContact)
{
    field.getText();     // input will be obtained here
}

在需要时通过调用yourTextField.getText()方法获取文本字段中的字符串

String x = yourInputField.getText();

将操作侦听器附加到文本字段。每当用户在该字段中输入时,就会调用该侦听器。然后,侦听器可以将信息写入数据库。

在需要时调用yourTextField.getText()方法来获取文本字段中的字符串

String x = yourInputField.getText();

将操作侦听器附加到文本字段。每当用户在该字段中输入时,就会调用该侦听器。然后,侦听器可以将信息写入数据库。

在事件侦听器方法中,您可以对其中的所有
TextField
循环通过
JPanel

for (Component c : panel1.getComponents()) {
    if (c instanceof JTextField) { 
       JTextField textField = ((JTextField)c);
       String name;
       String contact;
       if(textField.getName().startsWith("Name") {
           // Name field
           name = textField.getText();
       } else {
           // Contact field
           contact = textField.getText();

       }
       // Validate and persist.
    }
}

在事件侦听器方法中,您可以对其中的所有
TextField
循环执行
JPanel

for (Component c : panel1.getComponents()) {
    if (c instanceof JTextField) { 
       JTextField textField = ((JTextField)c);
       String name;
       String contact;
       if(textField.getName().startsWith("Name") {
           // Name field
           name = textField.getText();
       } else {
           // Contact field
           contact = textField.getText();

       }
       // Validate and persist.
    }
}

使用数组处理文本字段,然后必须启用以下功能: 从textField获取字符串,如下所示:

str[i] = textField[i].getText();
但您必须首先定义字符串数组:

String[] str[] = new String[nop1]();

然后将它们存储到数据库中。

使用数组处理文本字段,然后您必须启用以下功能: 从textField获取字符串,如下所示:

str[i] = textField[i].getText();
但您必须首先定义字符串数组:

String[] str[] = new String[nop1]();

然后将它们存储到数据库中。

我使用的是netbeans 7。文本字段是动态生成的,因此我无法获取输入字段名。这就是为什么我可以使用getText()方法。:(但是您有tf和tf1,它们有getText()方法,我错过了什么吗?@O.D-我尝试了tf.getText()和tf1.getText(),但它打印的是“JTextfield1.getText()”而不是textfield的值。奇怪!很高兴调试dude。设置aq断点以将getText()的值检查到循环中,然后再检查。我使用的是netbeans 7。textfield是动态生成的,所以我没有获取输入字段名。这就是为什么我可以使用getText()方法的原因:(但是你有tf和tf1,它们有getText()方法,我错过了什么吗?@O.D-我试过tf.getText()和tf1.getText(),但它打印的是“JTextfield1.getText()”而不是textfield的值。奇怪!调试得很好,伙计。设置aq断点检查getText()的值)我尝试了这段代码,它无法使用(JTextField:yourArrayListForName){field.getText();//此处将获得输入}的方法返回Textfield的值。我尝试了这段代码,它无法使用(JTextField字段:yourArrayListForName){field.getText()的方法返回Textfield的值;//将在此处获得输入}