如何将自定义窗格添加到该代码中的自定义场景?
public class MainScene extends Scene {
public MainScene() {
super(new FlowPane(), 800, 600);
}
public void addItem(String name) {
Item item = new Item(name); // Item extends Pane.
getRoot().getChildren().add(item); // That obviously doesn't work.
}
}
答案 0 :(得分:1)
在您的示例中,您没有对根元素的引用。
在没有向用户询问的情况下,由于使用super()
,您无法传递根元素的引用。
由于getRoot()
会返回父级,因此显而易见,您无法使用getChildren()
。
您可以做的是将getRoot()
输入到FlowPane
。
public void addItem(String name) {
Pane item = new Pane(); // Item extends Pane.
((FlowPane)getRoot()).getChildren().add(item);
}