Como misturar xml em sua programação java

Às vezes, quando você está escrevendo código em Java, você pode querer misturar em alguns XML. Apesar sabor orientada a objeto de Java, o código exibe uma janela usando um “fazer isso, então faça isso” abordagem.

Veja como você mostrar uma imagem:Construir um quadroConstruir um ícone contendo uma certa imagemConstruir um rótulo que contém o íconeAdicionar o ícone para o quadro...Pacote a molduraFaço o quadro ser visível

Este “fazer isso, então faça isso” abordagem é chamada programação procedural.

Agora imagine que você está no Louvre olhando para a Mona Lisa. Você não acha “Da Vinci acrescentou um rosto, então ele colocou um sorriso no rosto, em seguida, acrescentou um corpo, e depois um fundo.” A pintura não progride de uma ação para outra. Em vez disso, a pintura simplesmente é.

Da mesma forma, uma janela em um aplicativo GUI não precisa de uma progressão processual. Em vez disso, você pode descrever uma janela declarativa. Você escrever o código que diz “Veja como a janela parece.” A Máquina Virtual Java usa sua descrição para decidir (por conta própria) o que mostrar e quando.



O código a seguir balanço cria uma grade. Não olhe para todos os detalhes no código. Em vez disso, observe todos os verbos: “conjunto o layout para um novo GridLayout, adicionar uma etiqueta para o quadro, conjunto A fonte, pacote o quadro, e assim por diante.”É tudo processual.

importação java.awt.Font-import java.awt.GridLayout-import javax.swing.JFrame-import classe javax.swing.JLabel-pública Principais {public static void main (String [] args) {JFrame frame = new JFrame () -quadro, armação.conjuntoDisposição (novo GridLayout (4, 2)) - etiquetas JLabel [] = {novo JLabel ("Nome"), Nova JLabel ("telefone"), Nova JLabel ("Alice"), Nova JLabel ("555-1234"), Nova JLabel ("Prumo"), Nova JLabel ("555-4321"), Nova JLabel ("Carol"), Nova JLabel ("555-3000") }-quadro, armação.adicionar(Etiquetas [0]) - quadro.adicionar(Etiquetas [1]) - JLabel boldLabel = new JLabel ("Nome") -Font boldFont = boldLabel.getFont () - Fonte plainFont = nova fonte (boldFont.getName (), Font.PLAIN, boldFont.getSize ()) - para (int i = 2- i lt; 8- i ++) {rótulos [i].conjuntoFonte (plainFont) -Frame.adicionar(Etiquetas [i]) -} quadro.pacote()-quadro, armação.conjuntoVisível (true) -}}

Para salvar o mundo a partir de sua fixação processual, JavaFX oferece uma opção declarativa. Usando JavaFX, você pode descrever uma cena como um esboço usando XML (eXtensible Markup Language) tags. Aqui está uma versão JavaFX da grade:

lt;GridPane gridLinesVisible ="verdade"layoutX ="100.0" layoutY ="165,0"gt; lt;criançasgt; lt;Rótulo text ="Nome"GridPane.columnIndex ="0" GridPane.rowIndex ="0"gt; lt;Fontegt; lt;Rótulo = fonte"$ x1" text ="telefone"GridPane.columnIndex ="1" GridPane.rowIndex ="0" / Gt; lt;Rótulo text ="Alice"GridPane.columnIndex ="0" GridPane.rowIndex ="1" / Gt; lt;Rótulo text ="555-1234"GridPane.columnIndex ="1" GridPane.rowIndex ="1" / Gt; lt;Rótulo text ="Prumo"GridPane.columnIndex ="0" GridPane.rowIndex ="2" / Gt; lt;Rótulo text ="555-4321"GridPane.columnIndex ="1" GridPane.rowIndex ="2" / Gt; lt;Rótulo text ="Carol"GridPane.columnIndex ="0" GridPane.rowIndex ="3" / Gt; lt;Rótulo text ="555-3000"GridPane.columnIndex ="1" GridPane.rowIndex ="3" / Gt;

Se você estiver familiarizado com HTML (a linguagem das páginas web) que você pode reconhecer alguns dos truques no código de rede XML. Se não, não se preocupe. Usando uma ferramenta chamada Scene Builder, seu computador escreve o código XML em seu nome.


Publicações relacionadas