■FXMLを書いてみよう
では、実際に簡単なサンプルを書いてみましょう。下にリストを掲載しておきます。これは、Labelを1つ、BorderPaneに追加しただけのシンプルなものです。以下に内容を説明しておきましょう。
・<?import ?>タグ
冒頭に、いくつもの<?import ?>文が記述されていますね。実は、これは前述のJavaFX Scene Builderで作ると自動的に追加されるものです。Paneとコントール関係のクラスをひと通りimportする文を用意しているのですね。
・<BorderPane>タグ
ここでは、<BorderPane>というタグを用意し、この中に<Label>タグを記述しています。が、よく見ると、直接組み込んでいるのではなくて、<Top>というタグの中に書いていることがわかります。これは、<BorderPane>特有のもので、組み込む場所を示すタグの中にコントロールのタグを記述するようになっているのです。用意されているのは、以下の5つになります。
・<BorderPane>の配置場所タグ
<Top>, <Bottom>, <Right>, <Left>, <Ceter>
・<Label>タグ
<Label>タグでは、textという属性で表示するテキストが指定されています。コントロールのプロパティは、このように属性としてタグに記述できます。「text="○○"」というのは、「setText("○○")」と同じことをしているんだ、と考えるとわかりやすいでしょう。
このように、コントロールでプロパティを設定する「set○○(値)」という処理は、そのままコントロールタグの「○○=値」という形に書き直せることが多いのです。これはLabelに限らず、コントロール全般でいえることです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<BorderPane
xmlns="http://javafx.com/javafx/8"
xmlns:fx="http://javafx.com/fxml/1">
<top>
<Label text="This is FXML!" />
</top>
</BorderPane>
記事のリストに戻る