java:如何存储动态生成的文本字段的值
我已经动态生成了文本字段。根据用户给定的数字生成多少文本字段。生成文本字段后,用户将在文本字段中插入姓名和联系人号码。所以我的问题是如何将这些值存储到数据库中。我正在使用Mysql。我知道getText()方法,但如何使用它呢?下面是动态生成的文本字段的代码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
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的值;//将在此处获得输入}