FXML

FXML Características
Extensão .fxml
Desenvolvido por Oráculo
Versão inicial Outubro de 2011
Tipo de formato Texto
Baseado em XML
Especificação Formato aberto

FXML é um formato de dados textuais, derivado do formato XML , usado para descrever uma interface de usuário para aplicativos desenvolvidos com JavaFX .

Esta é uma alternativa ao design de interfaces feitas pela escrita de linhas de código, desacoplando a interface gráfica do código-fonte que a controla.

Esta tecnologia foi integrada ao JavaFX a partir da versão 2.0, para substituir o JavaFX Script .

Para facilitar o manuseio desse formato de dados, o software Scene Builder foi desenvolvido pela Oracle , possibilitando uma descrição rápida das interfaces.

Exemplo

O exemplo abaixo mostra uma lista vertical contendo dois botões, com espaçamento de 10 pixels entre eles.

<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.layout.VBox?> <VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="300.0" prefWidth="300.0" spacing="10.0" xmlns="http://javafx.com/javafx/10.0.1" xmlns:fx="http://javafx.com/fxml/1"> <children> <Button mnemonicParsing="false" text="Bouton" /> <Button mnemonicParsing="false" text="Bouton" /> </children> </VBox>

Vantagens e desvantagens

Benefícios

  • A principal vantagem dessa forma de descrever uma interface de usuário é a separação distinta entre a visualização e o controlador.
  • Não sendo uma linguagem compilada, mas interpretada, basta recarregar um arquivo FXML para atualizar a visualização
  • É possível ter várias versões da mesma visão, úteis em particular no caso da fase de desenvolvimento de um software
  • Existe uma gestão de localização nativa, que permite visualizar o texto utilizado pela interface de acordo com um idioma

Desvantagens

  • A velocidade de carregamento de um aplicativo JavaFX será um pouco mais lenta, devido à leitura de arquivos no formato FXML e à interpretação dos dados que eles contêm.
  • Permite apenas descrever interfaces "estáticas", ou seja, o conteúdo não deve mudar com o tempo: caso contrário, é necessário passar pela escrita do código-fonte.
  • Como a tecnologia usa reflexão para gerar a interface, depurar o programa pode ser complicado.

Apêndices

Artigos relacionados

links externos

Referências

  1. (em) "  Introdução ao FXML  " em openjfx.io ,1 ° de maio de 2017(acessado em 22 de abril de 2019 )
  2. (em) "  Notas de versão do JavaFX 2.0  " em docs.oracle.com ,outubro de 2011(acessado em 22 de abril de 2019 )
  3. (em) "  JavaFX Scene Builder  " em oracle.com (acessado em 22 de abril de 2019 )
  4. (em) "  Mastering FXML: Why use FXML  " em docs.oracle.com ,Janeiro de 2014(acessado em 22 de abril de 2019 )