我正在尝试从场景中提取内容并将其放入 Pane 中。问题是,如果我从场景中获取根组件并将其添加到 Pane 中, Pane 中不会出现任何内容。
注意:场景不会添加到舞台或任何其他组件。
以下是我的(目前比较困惑)代码:
public class JanelaPrincipalController extends Controller implements Initializable {
@FXML private ResourceBundle resources; @FXML private URL location; @FXML private StackPane conteudo; @FXML private MenuItem miBolsas; @FXML private MenuItem miCorretoras; /** * Initializes the controller class. */ @Override public void initialize(URL url, ResourceBundle rb) { miBolsas.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent t) { System.out.println("Action performed"); conteudo.getChildren().clear(); SceneData sceneData = MainClass.getInstance().getScene(SceneType.LISTA_BOLSAS); Parent root = sceneData.scene().getRoot(); conteudo.getChildren().add(root); //conteudo.getChildren().add(new Label("Teste")); } }); } @Override public void open() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void process(Action action) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void close() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. }
}
最佳答案
相同的节点(在本例中为父节点)不会两次显示,因此,如果正在显示场景,则需要从场景中删除根节点,然后将其添加到堆栈 Pane 中。
关于java - 从场景中提取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21471423/