我正在学习基本的JavaFX,而且我不明白这本书的读法:“不,可以将节点(如文本字段)仅添加到一个窗格中,也可以添加一次。多次添加到窗格或添加到不同的窗格将导致运行时错误。“我从UML图中可以看出,本书规定它是一个组合,但我不明白为什么(库类代码实现)是。JavaFX - 为什么将节点多次添加到窗格或添加到不同窗格会导致错误?
例如,为什么会导致编译错误?是不是在窗格内实例化的新文本字段,因为它是一个组合?
FlowPane pane = new FlowPane();
StackPane pane2 = new StackPane();
TextField tf = new TextField();
pane.getChildren().add(tf);
pane.getChildren().add(tf);
此外,为什么以下运行,但不显示放置在窗格中的文本字段?
FlowPane pane = new FlowPane();
StackPane pane2 = new StackPane();
TextField tf = new TextField();
pane.getChildren().add(tf);
pane2.getChildren().add(tf);
primaryStage.setScene(new Scene(pane));
primaryStage.show();
该声明来自哪里?有些上下文会很有用。 –
它来自教科书 – Hyde
您可以查看JavaFX源代码并找出原因。 –