Uma forma básica de se dispor conteúdo, no entanto, está em disponibilizar eles em paineis. Hoje vamos apresentar como apresentar conteúdos usando o TabPane.
TabPane
Para organizarmos os componentes em paineis acessados através de abas, podemos utilizar a classe TabPane, onde podemos adicionar paineis e o JavaFX automaticamente irá organizar eles em abas, veja:
Criando e customizando o TabPane
Criar um painel de Abas não é nada difícil. Você deve saber que a classe TabPane herda de nó e tem um atributo getTabs que retorna uma lista de abas, onde você pode adicionar instâncias de Tab, que representam uma Aba. Cada Aba tem como principais atributos o texto, um gráfico que representa um ícone e se a aba é "fechável" ou não. Veja abaixo como fica o código para criar o painel que mostramos acima:
// criamos o painel TabPane painelAbas = new TabPane(); // criando paineis de abas, o construtor recebe o nome da aba Tab aba1 = new Tab("Aba 1"); Tab aba2 = new Tab("Aba 2"); Tab aba3 = new Tab("Aba 3"); //configuramos o conteúdo de cada aba, que aceita qualquer tipo de Nó aba1.setContent(new Label("Configurando como conteúdo um label...")); aba2.setContent(new Button("Um botão de conteúdo")); aba3.setContent(new Rectangle(150, 50)); // abas podem ser fechadas, ou não. Por padrão elas são. aba1.setClosable(false); aba2.setClosable(false); aba3.setClosable(true); // podemos adicionar ícones as abas aba1.setGraphic(new ImageView(new Image(getClass().getResourceAsStream("coracao.png")))); aba2.setGraphic(new ImageView(new Image(getClass().getResourceAsStream("fogo.png")))); aba3.setGraphic(new ImageView(new Image(getClass().getResourceAsStream("agua.png")))); // agora adicionamos todas as abas de vez painelAbas.getTabs().addAll(aba1, aba2, aba3);
Para o a instância do TabPane, temos um atributo que permite escolher o lado que a Aba pode ficar: em baixo, à esquerda, à direita ou acima (padrão). Isso é possível através do método setSide, que aceita um dos valores do Enum javafx.geometry.Side. Por exemplo, a chamada do método setSide(Side.BOTTOM) gera o seguinte:
Conclusão
Apresentamos o painel de Abas do JavaFX! O nosso próximo objetivo é o Accordion e aí fecharemos os principais controles. Acesse o código completo no github
Estamos próximos de cobrir todos os aspectos básicos do JavaFX! Os tópicos desse blog serão organizados em um mini ebook para principiantes na tecnologia e será disponibilizado gratuitamente!
Nenhum comentário:
Postar um comentário