Boa tarde!
Estou estudando o javaFX e tenho me deparado com a seguinte dúvida:
Tenho vários arquivos FXML inseridos dentro de um principal com a tag fx:include.
Para cada FXML há um Controller.
A minha dúvida é como chamar outro Controller e o deixar “Ativo”. Pois deixo todos os FXML com setVisible(false), e apenas o Principal com setVisible(true), eu gostaria de a partir do principal chamar os outros. Pensei em criar um método de inicialização para cada controlador que o deixe com setVisible(true), ou fazer pelo construtor, não sei qual seria o ideal.
Desde já agradeço!!
Podem criticar a vontade!
Segue uns trechos de código:
public class LayoutController implements Initializable {
//Botões
@FXML
private ImageView btn_home,
btn_os,
btn_cliente,
btn_vendas,
btn_estoque,
btn_fornecedor,
btn_chat,
btn_usuario,
btn_config,
btn_exit;
@FXML
private OpcaoMenuOSController opcaoMenu_os; //Controller que quero chamar
@FXML
private AnchorPane opcaoMenu; //Apenas um fundo colorido
@FXML
private void onMouseClicked(MouseEvent event){
if(event.getTarget() == btn_os){
opcaoMenu.setVisible(true);
opcaoMenu_os. //Não sei como chamar o outro Controller sem apresentar erro.
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
O controlador que quero chamar ->
public class OpcaoMenuOSController implements Initializable {
@FXML
private Pane opcaoMenu_os;
@FXML
private Button btnOS_cadastrar,
btnOS_alterar,
btnOS_buscar,
btnOS_deletar;
/*
public void nascer(){
opcaoMenu_os.setVisible(true);
}
*/ //Pensei nesse método
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}