Java 因为自行车不行
我在这里发布的类中调用addNotify()方法。问题是,当我调用代码中的addNotify()时,setKeys(objs)什么都不做。运行应用程序的“我的资源管理器”中未显示任何内容 但是,当我在没有循环的情况下调用addNotify()时(对于int…),并且只将一项添加到ArrayList中,它会正确地显示一项 有人知道哪里会出问题吗?看到割让了吗Java 因为自行车不行,java,for-loop,Java,For Loop,我在这里发布的类中调用addNotify()方法。问题是,当我调用代码中的addNotify()时,setKeys(objs)什么都不做。运行应用程序的“我的资源管理器”中未显示任何内容 但是,当我在没有循环的情况下调用addNotify()时(对于int…),并且只将一项添加到ArrayList中,它会正确地显示一项 有人知道哪里会出问题吗?看到割让了吗 class ProjectsNode extends Children.Keys{ private ArrayList objs = new
class ProjectsNode extends Children.Keys{
private ArrayList objs = new ArrayList();
public ProjectsNode() {
}
@Override
protected Node[] createNodes(Object o) {
MainProject obj = (MainProject) o;
AbstractNode result = new AbstractNode (new DiagramsNode(), Lookups.singleton(obj));
result.setDisplayName (obj.getName());
return new Node[] { result };
}
@Override
protected void addNotify() {
//this loop causes nothing appears in my explorer.
//but when I replace this loop by single line "objs.add(new MainProject("project1000"));", it shows that one item in explorer
for (int i=0;i==10;i++){
objs.add(new MainProject("project1000"));
}
setKeys (objs);
}
}看看这个循环:
for (int i=0;i==10;i++)
这将从i=0开始,在i=10时继续。我想你的意思是:
for (int i = 0; i < 10; i++)
for(int i=0;i<10;i++)
(为了清晰起见添加了额外的空格。)乔恩是对的。。。您的循环很可能不正确 这里是你的for循环到while循环的翻译,只是为了进一步澄清他的观察 你的循环目前意味着。。。(在while循环中)
从未调用addNotify,因为从未调用addNotify…retag:这个q实际上没有任何“netbeans特性”。最初的问题是addNotify为什么不工作。在揭示了问题的本质之后,我编辑了这个标题。这对我来说是个惊喜。虽然我在编程方面没有太多经验,但我经常使用循环。到目前为止,我从来没有遇到过这种情况。不,你没有像这样对循环使用过
,并且因为它不工作而使它工作。@Bombe-我不写“像这样”。所以,是的,我使用for cycle有几年了,我从来没有遇到过这个问题。当然,当正确地使用for
循环时,它确实有效。不幸的是,“正确地使用for
循环”与您所做的没有任何关系
int i = 0;
while (i==10) {
objs.add(new MainProject("project1000"));
i++;
}
setKeys (objs);