JTree:ArrayIndexOutOfBoundsException:2> = 2

时间:2017-06-23 13:01:41

标签: indexoutofboundsexception jtree

我有一个很大的错误,但我无法找到它。我会说它在if(i!= 0)。我想从我的JTree中获取对象,要求用户填写JTextField。

错误在于该方法:

public void addTuple(JTree tree){//les tuples s'ajoutent à la suite donc bien mais me demande que le premier attribut
    String nomDeLaTable = tree.getLastSelectedPathComponent().toString();
    TypedDefaultMutableTreeNode node = lookFor(racine, NodeType.TABLE,nomDeLaTable);
    System.out.println(node);
    TypedDefaultMutableTreeNode node1;
    ArrayList<String> attributs = new ArrayList<String>();
    int i = node.getChildCount();
    String att ="";
    String ad ="";
    String tuple = "";
    String text ="INSERT VALUES INTO "+nomDeLaTable+"( ";
    if(i!=0){//Problème dans la boucle 
            att = att +" "+model.getChild(node,i).toString();
            System.out.println(model.getChild(node,i).toString());
            System.out.println(att);
            for(Enumeration<Object> e = node.children();e.hasMoreElements();e.nextElement()){
                System.out.println(e);
                node1 = lookFor(node,NodeType.ATTRIBUT,e.nextElement().toString());
                i = node1.getChildCount();
                for(int b = 0;b<i;b++){
                    att = att+" "+ model.getChild(node1,b).toString();
                }
                tuple = JOptionPane.showInputDialog(tree,att);
                if(e.hasMoreElements()){
                    text = text+","+tuple;
                }
            }
            text = text+");";
            centre.addTuple(text);
        }

    else{//Marche
        JOptionPane.showMessageDialog(tree,"Erreur: pas d'attributs pour cette table","Erreur",JOptionPane.ERROR_MESSAGE);
    }
}

0 个答案:

没有答案