domingo, 21 de junho de 2015

Problema ao Abrir Páginas no JavaFX

Na postagem dessa semana, vou trazer um problema que ocorreu com bastante frequência em nosso trabalho semestral da faculdade, ao criar as páginas e acontecer de ter que alterar o nome do pacote ou nome da classe, o arquivo .FXML acaba não alterado internamente o local do pacote ou nome da classe mesmo, o que vem a ocasionar o erro das páginas ao serem clicadas e não abrirem na tela.
Parece um problema imenso, mas na verdade para corrigir ele é muito simples. Basta você abrir o código do arquivo .FXML e procurar aonde está especificado o caminho do arquivo (conforme a imagem abaixo), verificar no seu Workspace ou através do Eclipse se os caminhos conferem e se os nomes estão iguais, caso não esteja apenas altere, salve o mesmo e atualize antes de rodar. Pronto sua tela deve começar funcionar normalmente.



Um abraço a todos e ótima semana!

domingo, 14 de junho de 2015

Criando Pacotes para Ícones em JavaFX

Nesta semana, vou apresentar a vocês uma grande dúvida do pessoal que começa mexer com JavaFX, Como criar pacotes para adicionar minhas imagens de ícones?
Não tem nada de muito diferente ou difícil, primeiramente indico todos a acessarem o site www.iconfinder.com e baixarem os ícones que forem de seu interese.



Na sequência você abre sua aplicação, cria um package dentro do src e vai até o local aonde localiza-se a pasta da aplicação, como mostra a imagem abaixo, basta você acessar a pasta dos ícones e jogar os ícones baixados la dentro.



Por fim, basta dar um Refresh na aplicação para que ela atualize. Um conteúdo bem simples mas que gera muitas dúvidas quando você está iniciando trabalhar com JavaFX. Um forte abraço a todos e uma ótima semana!

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!