Comment mélanger XML dans votre programmation Java

Parfois, quand vous êtes l'écriture de code en Java, vous pouvez mélanger en XML. Malgré la saveur orientée objet de Java, le code affiche une fenêtre à l'aide d'un “ faire cela, alors le faire ” approche.

Voici comment vous montrer une photo:Construire un cadreConstruire une icône contenant une certaine imageConstruire une étiquette contenant l'icôneAjouter l'icône sur le châssis...Paquet le cadreFaire le cadre est visible

Ce “ faire cela, alors le faire ” approche est appelée programmation procédural.




Maintenant, imaginez que vous êtes au Louvre en regardant la Joconde. Vous ne pensez pas “ Da Vinci ajouté un visage, puis il a mis un sourire sur le visage, puis il a ajouté un corps, puis un fond ”. La peinture ne progresse pas d'une action à l'autre. Au lieu de cela, la peinture tout simplement est.

De la même manière, une fenêtre dans une application graphique n'a pas besoin d'une progression de la procédure. Au lieu de cela, vous pouvez décrire une fenêtre déclarative. Vous écrivez du code qui dit “ Voilà comment la fenêtre regarde ”. La machine virtuelle Java utilise votre description de décider (sur son propre) ce que pour afficher et quand.

image0.jpg

Le code Swing suivant crée une grille. Ne regardez pas tous les détails dans le code. Au lieu de cela, notez tous les verbes: “ensemble la mise en page à une nouvelle GridLayout, ajouter une étiquette sur le cadre, ensemble la police, pack la trame, et ainsi de suite ”.; Il est tout de procédure.

import-import java.awt.GridLayout java.awt.Font-import-import javax.swing.JLabel javax.swing.JFrame publiques classe principale {static void main (String [] args) {publics JFrame cadre = new JFrame () -frame.ensembleMise en page (nouvelle GridLayout (4, 2)) - JLabel étiquettes [] = {new JLabel ("nom"), nouvelle JLabel ("téléphone"), nouvelle JLabel ("Alice"), nouvelle JLabel ("555-1234") , nouvelle JLabel ("Bob"), nouvelle JLabel ("555-4321"), nouvelle JLabel ("Carol"), nouvelle JLabel ("555-3000")} -frame.ajouter(étiquettes [0]) - cadre.ajouter(étiquettes [1]) - JLabel boldLabel = new JLabel ("Nom") - la police boldFont = boldLabel.getFont () - Font plainFont = nouvelle police (boldFont.getName (), Font.PLAIN, boldFont.getSize ()) - for (int i = 2- i lt; 8- i ++) {étiquettes [i].ensembleFont (plainFont) -frame.ajouter(étiquettes [i]) -} cadre.pack() -frame.ensembleVisible (true) -}}

Pour sauver le monde de sa fixation procédurale, JavaFX offre une option déclarative. Utilisation de JavaFX, vous pouvez décrire une scène comme un contour en utilisant XML (eXtensible Markup Language) tags. Voici une version de JavaFX de la grille:

lt;GridPane gridLinesVisible = "true" layoutX = "100,0" layoutY = "165,0"> lt;enfants> lt;Étiquette text = "Nom" GridPane.columnIndex = "0" GridPane.rowIndex = "0"> lt;police>lt;Étiquette font = "$ x1" text = "Téléphone" GridPane.columnIndex = "1" GridPane.rowIndex = "0" /> lt;Étiquette text = "Alice" GridPane.columnIndex = GridPane.rowIndex => lt "0" à "1" /;Étiquette text = "555-1234" GridPane.columnIndex = "1" GridPane.rowIndex = "1" /> lt;Étiquette text = "Bob" GridPane.columnIndex = GridPane.rowIndex => lt "0" "2" /;Étiquette text = "555-4321" GridPane.columnIndex = "1" GridPane.rowIndex = /> lt "2";Étiquette text = "Carol" GridPane.columnIndex = "0" GridPane.rowIndex = /> de LT "3";Étiquette text = "555-3000" GridPane.columnIndex = "1" GridPane.rowIndex = "3" />

Si vous êtes familier avec le langage HTML (le langage des pages Web), vous pourriez reconnaître certains des trucs dans le code de la grille de XML. Si non, ne vous inquiétez pas. L'utilisation d'un outil nommé Scene Builder, votre ordinateur écrit le code XML en votre nom.


» » » » Comment mélanger XML dans votre programmation Java