我正在學習基本的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源代碼並找出原因。 –