我在面板中自动生成了一些JTextField 也就是在循环中自动生成了一些列的JTextField 这些操作在构造函数中产生
代码如下:      
                                              JTextField valueField = new JTextField();
valueField.setBounds(400, zong*20+20, 70, 18);
jj.add(valueField);现在我要在这些JTextField 中输入值,并且单击保存按钮能够取出这些JTextField 的值并且输入到一个地方,应该怎么实现啊 
我想不出应该怎么取这些值啊 因为这些JTextField 都是同一个名字啊  而且都是自动生成的

解决方案 »

  1.   

    楼上我自动生成了很多个JTextField 而这些值我都要取出来  你这么一个操作取的是最后生成的那个JTextField
      

  2.   

    难道LZ众多的JTextField实例名都是valueField?
      

  3.   

    可以在初始化函数中用布局管理器的add(Component comp,int index)为每个JTextFiled设置一个索引,利用索引号来获得组件,然后就可以得到它们的文本了
      

  4.   

    kuyesuifeng  能否说明的详细一点 或者给我看个例子
      

  5.   

    JFrame j=new JFrame;
    Container c=j.getContentPane();
    c.add(new TextField(),1);   //在你的程序里可以用循环来往里加
    c.getComponent(1).getText();
      

  6.   

    我是把 这个写都放在 JPanel jj = new JPanel();中的  
    但是似乎没有getComponent(1).这个函数
      

  7.   

    JPanel也是一种容器,它继承于Container,一定会有这个函数的,你查查API
      

  8.   

    只有jj.getComponentZOrder(comp)和jj.getComponentCount()  我用的是eclipse 所以有没有很明显的
      

  9.   

    有这个函数 但是这个函数 jj.getComponent(t)没有getText()
      

  10.   

    就是把东东都存入list列表内;
    你用他上面说的索引,完全可以实现循环的功能
      

  11.   

    可是我怎么取出这些 jj.getComponent(t)中的这些数据呢
      

  12.   

    没法实现c.getComponent(1).getText(); 
    因为c.getComponent(1)中没有getText(); 
      

  13.   

    在类的属性里写个ArrayList list = new ArrayList();
    然后把那个valueField加进去啊.读数据的时刻就从这个list里取出来,然后取它的textclass ttt
    ArrayList list = new ArrayList();
    method()
    {
      list.add();
    }或者
    class yyy
    JTextField f = null;
    JTextField k=null;
    method()
    {
     f = new JTextField();
     k = new JTextField();
    }
      

  14.   

    但是这些JTextField我都是在构造函数中自动生成的  但是这些JTextField我还要进行修改其中的值 到单击保存的时候才取这些值  如果你那样的话只把原来我那些JTextField中的值取了出来 而没有把修改后的值取出来
      

  15.   

    拜托,老大你就不会把c.getComponent(index)强制转换成JTextField吗?
      

  16.   

    不如用一个List或数组保存JTextField好了。
    如下:List textList = new ArrayList<JTextField>();//这里放在成员变量里。
    for(int i=0;i<10;i++)
    {
        JTextField jt = new JTextField();
        textList.add(jt);
        /*
        * 一些操作....
        */
    }
      

  17.   

    JButton up=new JButton("提交");
    up.setBounds(*, *, *, *); 
    jj.add(up); 
    public void actionPerformed(ActionEvent e) {
    JButton button = (JButton)e1.getSource();
    if (button.equals("提交"))
    {
    String VF=valueField.getText();
    }
    }
    VF就是valueField中的值,转化一下就行。
      

  18.   

    可以用循环里的下标来作为txt的名字吗!然后不就好办啦吗!
      

  19.   

    产生textfield的时候把新生成的放入集合类中 如list