java fx vbox IndexOutOfBoundsException
java fx vbox IndexOutOfBoundsException
大家好,我是 java fx 的新手。我的代码更改
使用 rand func(1-16) 的输出标记设计。
最初我的代码没有错误,但我想要我的设计
自动调整响应页面大小,所以我将 16 标签放在 Vbox 中
它现在是一个响应式页面。问题从这里开始。我不
弄清楚如何通过代码访问 vbox。我的代码无法访问
标签并给出错误。当我把我的标签放在 vbox 代码之外时
又开始工作了。我想知道使用 vbox 是否合适?
如有任何建议,我们将不胜感激。
int myrand = rand.nextInt(15)+1;
System.out.println(myrand + "blue");
root.getChildrenUnmodifiable().get(myrand).setStyle("-fx-background-color: blue");
但是;代码指向这一行,行号上没有任何错误符号。
root.getChildrenUnmodifiable().get(myrand).setStyle("-fx-background-color: blue");
这是完整的错误日志
Exception in thread "Timer-0" java.lang.IndexOutOfBoundsException: Index: 10, Size: 2
10blue
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:89)
at com.sun.javafx.collections.VetoableListDecorator.get(VetoableListDecorator.java:306)
at javafx.collections.FXCollections$UnmodifiableObservableListImpl.get(FXCollections.java:936)
at javafxapp.Lighproject.run(Lighproject.java:42)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
如您所见,它使用 1 个循环并给出错误。这是我的层次结构
gluon scene builder
错误属于顶部 Vbox。
尝试使用 int myrand = rand.nextInt(root.getChildren().size());
。
发生这种情况是因为您的 myrand
变量大于 root
组中的节点数。
大家好,我是 java fx 的新手。我的代码更改 使用 rand func(1-16) 的输出标记设计。 最初我的代码没有错误,但我想要我的设计 自动调整响应页面大小,所以我将 16 标签放在 Vbox 中 它现在是一个响应式页面。问题从这里开始。我不 弄清楚如何通过代码访问 vbox。我的代码无法访问 标签并给出错误。当我把我的标签放在 vbox 代码之外时 又开始工作了。我想知道使用 vbox 是否合适? 如有任何建议,我们将不胜感激。
int myrand = rand.nextInt(15)+1; System.out.println(myrand + "blue"); root.getChildrenUnmodifiable().get(myrand).setStyle("-fx-background-color: blue");
但是;代码指向这一行,行号上没有任何错误符号。
root.getChildrenUnmodifiable().get(myrand).setStyle("-fx-background-color: blue");
这是完整的错误日志
Exception in thread "Timer-0" java.lang.IndexOutOfBoundsException: Index: 10, Size: 2 10blue at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:89) at com.sun.javafx.collections.VetoableListDecorator.get(VetoableListDecorator.java:306) at javafx.collections.FXCollections$UnmodifiableObservableListImpl.get(FXCollections.java:936) at javafxapp.Lighproject.run(Lighproject.java:42) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)
如您所见,它使用 1 个循环并给出错误。这是我的层次结构 gluon scene builder 错误属于顶部 Vbox。
尝试使用 int myrand = rand.nextInt(root.getChildren().size());
。
发生这种情况是因为您的 myrand
变量大于 root
组中的节点数。