domingo, 7 de junho de 2015

Estrutura para Abrir Páginas no JavaFX

Na postagem dessa semana, vamos tratar de um assunto bem interessante para todos, como abrir as páginas da minha aplicação carregando apenas a parte do conteúdo?
Para se fazer isso com o JavaFX é muito simples, basta você criar a tela principal da aplicação, e seus menus (no nosso caso em ícones), que foi utilizando os componentes HBox e dentro dele a quantidade de ImageView necessárias, com a imagem do ícone dentro. Logo abaixo para que esse conteúdo seja carregado devemos incluir o componente BorderPane, esse facilitará que os componentes internos sejam alinhados até o final da tela ou até o valor especifico solicitado pelo desenvolvedor. A mesma ficará parecida com a tela da imagem abaixo:



Mas vamos ao que realmente nos interessa, para que a página seja aberta sem precisar carregar novamente a estrutura de toda a página, na classe Controller (no meu caso: TelaPrincipalContoller.java), de nossa página inicial vamos implementar o seguinte código:

@FXML
public void abrirPagina(MouseEvent event) throws IOException{

AnchorPane telaPagina = (AnchorPane) FXMLLoader.load(
getClass().getResource("view/Cadastro.fxml"));

corpo.getChildren().clear();

corpo.setCenter(telaPagina);
}

Não podemos se esquecer que para o mesmo funcionar corretamente, devemos setar o nome correto do arquivo FXML da página que deseja ser carregada, nesse caso Cadastro.fxml.
Abrindo o arquivo inicial com o Scene Builder, selecionamos o ícone desejado para determinada página e na aba Code, mais especificamente na opção On Mouse Clicked devemos passar o abrirPagina para que o mesmo ao ser clicado abra a página desejada, ficando por fim igual a imagem abaixo:



Um forte abraço e ótima semana a todos!

Nenhum comentário:

Postar um comentário