我有一个很大的错误,但我无法找到它。我会说它在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);
}
}