connet.lolipop.jp
各種FXMLファイルの作成
JavaFXGUIアプリのデザイン部分は手書きでも作成可能ですが、「JavaFX Scene Builder」を使えば一瞬にしてFXMLファイルを作成してくれます。
操作はいたって簡単、マウスで「ボタン」や「ラベル」などのコントロール部品をドラッグ &ドロップするだけです。

以下の各FXMLファイルは「JavaFX Scene Builder」を使って作成したものです。

Root.fxml
<?xml version="1.0" encoding="UTF-8"?>
 
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.SeparatorMenuItem?>
<?import javafx.scene.layout.BorderPane?>
 
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.controller.RootController">
   <top>
      <MenuBar BorderPane.alignment="CENTER">
        <menus>
          <Menu mnemonicParsing="false" text="ファイル">
            <items>
              <MenuItem mnemonicParsing="false" onAction="#siteExit" text="閉じる" />
            </items>
          </Menu>
          <Menu mnemonicParsing="false" text="編集">
            <items>
              <MenuItem mnemonicParsing="false" text="検索" />
            </items>
          </Menu>
          <Menu mnemonicParsing="false" text="ヘルプ">
            <items>
              <MenuItem mnemonicParsing="false" onAction="#siteAbout" text="サイトについて" />
              <SeparatorMenuItem mnemonicParsing="false" />
              <MenuItem mnemonicParsing="false" onAction="#siteVersion" text="バージョン情報" />
            </items>
          </Menu>
        </menus>
      </MenuBar>
   </top>
</BorderPane> 

Index.fxml
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane fx:id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="570.0" prefWidth="920.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.controller.IndexController">
    <children>
      <Label layoutX="14.0" layoutY="14.0" prefHeight="83.0" prefWidth="678.0" text="JavaFXSampleFxmlApp">
         <font>
            <Font name="Arial" size="39.0" />
         </font>
      </Label>
        <Label layoutX="28.0" layoutY="89.0" text="Index">
         <font>
            <Font size="24.0" />
         </font>
      </Label>      
      <Hyperlink alignment="BOTTOM_LEFT" layoutX="20.0" layoutY="190.0" onAction="#toCreate" prefHeight="45.0" prefWidth="155.0" text="Create" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink alignment="BOTTOM_LEFT" layoutX="20.0" layoutY="225.0" onAction="#toSearch" prefHeight="45.0" prefWidth="107.0" text="Search" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink alignment="BOTTOM_LEFT" layoutX="20.0" layoutY="270.0" onAction="#selectAllView" text="Show AllData" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>      
   </children>
</AnchorPane>

Create.fxml
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane fx:id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="570.0" prefWidth="920.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.controller.CreateController">
   <children>           
       <Label layoutX="14.0" layoutY="14.0" prefHeight="83.0" prefWidth="678.0" text="JavaFXSampleFxmlApp">
          <font>
             <Font name="Arial" size="39.0" />
          </font>
       </Label>
       <Label layoutX="28.0" layoutY="89.0" text="Create">
         <font>
            <Font size="24.0" />
         </font>
      </Label>
      <Label fx:id="createSuccsess" layoutX="54.0" layoutY="124.0" prefHeight="27.0" prefWidth="259.0" textFill="#bc0000">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="54.0" layoutY="173.0" text="Name :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="51.0" layoutY="208.0" text="Address :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="52.0" layoutY="243.0" text="Memo :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <TextField fx:id="nameCreate" layoutX="165.0" layoutY="174.0" prefHeight="25.0" prefWidth="236.0" promptText="name" />
      <TextField fx:id="addressCreate" layoutX="165.0" layoutY="209.0" prefHeight="25.0" prefWidth="236.0" promptText="address" />
      <TextArea fx:id="memoCreate" layoutX="165.0" layoutY="244.0" prefHeight="89.0" prefWidth="236.0" promptText="memo" />
      <Hyperlink fx:id="linkSave" layoutX="51.0" layoutY="333.0" onAction="#linkSave" prefHeight="35.0" prefWidth="64.0" text="Save" textFill="#0f9d58">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink fx:id="linkShowAll" layoutX="20.0" layoutY="435.0" onAction="#linkShowAll" text="Show AllData" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink fx:id="linkIndex" layoutX="20.0" layoutY="473.0" onAction="#linkIndex" text="Index" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>     
   </children>
</AnchorPane>

Search.fxml
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane fx:id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="570.0" prefWidth="920.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.controller.SearchController">
    <children>
      <Label layoutX="14.0" layoutY="14.0" prefHeight="83.0" prefWidth="678.0" text="JavaFXSampleFxmlApp">
         <font>
            <Font name="Arial" size="39.0" />
         </font>
      </Label>
      <Label layoutX="28.0" layoutY="89.0" text="Search">
         <font>
            <Font size="24.0" />
         </font>
      </Label>
      <Label fx:id="searchError" layoutX="46.0" layoutY="137.0" prefHeight="25.0" prefWidth="221.0" textFill="#bc0000">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="28.0" layoutY="198.0" prefHeight="27.0" prefWidth="72.0" text="Name :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <TextField fx:id="searchName" layoutX="100.0" layoutY="199.0" prefHeight="25.0" prefWidth="207.0" />
      <Button layoutX="314.0" layoutY="199.0" mnemonicParsing="false" onAction="#nameSearchAction" prefHeight="25.0" prefWidth="40.0" text="Go" />     
      <TableView fx:id="table" layoutX="20.0" layoutY="242.0" prefHeight="165.0" prefWidth="890.0" tableMenuButtonVisible="true" visible="false" AnchorPane.bottomAnchor="171.0" AnchorPane.leftAnchor="20.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="242.0">
        <columns>                 
          <TableColumn fx:id="idCol" prefWidth="44.0" style="-fx-font-size:16;" text="Id" />
          <TableColumn fx:id="nameCol" prefWidth="100.0" style="-fx-font-size:16;" text="Name" />
          <TableColumn fx:id="addressCol" prefWidth="220.0" style="-fx-font-size:16;" text="Address" />
          <TableColumn fx:id="memoCol" prefWidth="207.0" style="-fx-font-size:16;" text="Memo" />
          <TableColumn fx:id="created_atCol" prefWidth="110.0" style="-fx-font-size:16;" text="Created_at" />
          <TableColumn fx:id="updated_atCol" prefWidth="110.0" style="-fx-font-size:16;" text="Updated_at" />
        </columns>
      </TableView>
      <Hyperlink layoutX="18.0" layoutY="446.0" onAction="#toSelectAllView" text="Select AllView" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink fx:id="linkIndex" layoutX="20.0" layoutY="483.0" onAction="#linkIndex" text="Index" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
    </children>
</AnchorPane>

SelectAll.fxml
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane fx:id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="570.0" prefWidth="920.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.controller.SelectAllController">
    <children>
      <Label layoutX="14.0" layoutY="14.0" prefHeight="83.0" prefWidth="678.0" text="JavaFXSampleFxmlApp">
         <font>
            <Font name="Arial" size="39.0" />
         </font>
      </Label>
      <Label layoutX="28.0" layoutY="89.0" text="Show AllData">
         <font>
            <Font size="24.0" />
         </font>
      </Label>
      <!--TableView fx:id="table" layoutX="20.0" layoutY="202.0" prefHeight="144.0" prefWidth="890.0" tableMenuButtonVisible="true" AnchorPane.bottomAnchor="224.0" AnchorPane.leftAnchor="20.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="202.0"-->
      <TableView fx:id="table" layoutX="20.0" layoutY="202.0" prefHeight="144.0" prefWidth="890.0" tableMenuButtonVisible="true" >
        <columns>          
          <TableColumn fx:id="idCol" prefWidth="44.0" text="Id" style="-fx-font-size:16;" />
          <TableColumn fx:id="nameCol" prefWidth="100.0" text="Name" style="-fx-font-size:16;" />
          <TableColumn fx:id="addressCol" prefWidth="200.0" text="Address" style="-fx-font-size:16;" />
          <TableColumn fx:id="memoCol" prefWidth="141.0" text="Memo" style="-fx-font-size:16;" />
          <TableColumn fx:id="created_atCol" prefWidth="110.0" text="Created_at" style="-fx-font-size:16;" />
          <TableColumn fx:id="updated_atCol" prefWidth="110.0" text="Updated_at" style="-fx-font-size:16;" />
        </columns>
      </TableView>
      <Hyperlink fx:id="linkCreate" layoutX="20.0" layoutY="389.0" onAction="#linkCreate" text="Create" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font></Hyperlink>
      <Hyperlink fx:id="linksearch" layoutX="20.0" layoutY="423.0" onAction="#linkSearch" prefHeight="45.0" prefWidth="94.0" text="Search" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
         <Hyperlink fx:id="linkIndex" layoutX="20.0" layoutY="468.0" onAction="#linkIndex" text="Index" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>     
    </children>
</AnchorPane>

Edit.fxml
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane fx:id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="570.0" prefWidth="920.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.controller.EditController">
   <children>
       <Label layoutX="14.0" layoutY="14.0" prefHeight="83.0" prefWidth="678.0" text="JavaFXSampleFxmlApp">
          <font>
             <Font name="Arial" size="39.0" />
          </font>
       </Label>
        <Label fx:id="succsess" layoutX="62.0" layoutY="125.0" prefHeight="35.0" prefWidth="92.0" textFill="#bc0000">
         <font>
            <Font size="18.0" />
         </font>
      </Label>           
       <Label layoutX="28.0" layoutY="89.0" text="Edit">
         <font>
            <Font size="24.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="173.0" text="Id :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="208.0" text="Name :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="243.0" text="Address :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="278.0" text="Memo :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <TextField fx:id="idEdit" editable="false" layoutX="165.0" layoutY="174.0" prefHeight="25.0" prefWidth="234.0" promptText="id" />
      <TextField fx:id="nameEdit" editable="false" layoutX="165.0" layoutY="209.0" prefHeight="25.0" prefWidth="234.0" promptText="name" />
      <TextField fx:id="addressEdit" layoutX="165.0" layoutY="244.0" prefHeight="25.0" prefWidth="234.0" promptText="address" />
      <TextArea fx:id="memoEdit" layoutX="165.0" layoutY="279.0" prefHeight="75.0" prefWidth="234.0" promptText="memo" />
      <Hyperlink fx:id="linkSave" layoutX="56.0" layoutY="345.0" onAction="#linkSave" text="Save" textFill="#0f9d58">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink fx:id="linkShowAll" layoutX="39.0" layoutY="435.0" onAction="#linkShowAll" text="Show AllData" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink fx:id="linkIndex" layoutX="44.0" layoutY="472.0" onAction="#linkIndex" text="Index" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
   </children>
</AnchorPane>

See.fxml
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane fx:id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="570.0" prefWidth="920.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.controller.SeeController">
    <children>
       <Label layoutX="14.0" layoutY="14.0" prefHeight="83.0" prefWidth="678.0" text="JavaFXSampleFxmlApp">
          <font>
             <Font name="Arial" size="39.0" />
          </font>
       </Label>
       <Label layoutX="28.0" layoutY="89.0" text="See">
         <font>
            <Font size="24.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="173.0" text="Id :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="208.0" text="Name :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="243.0" text="Address :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="60.0" layoutY="278.0" text="Memo :">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label fx:id="idlabel" layoutX="165.0" layoutY="174.0" prefHeight="25.0" prefWidth="234.0" text="Label">
         <font>
            <Font size="14.0" />
         </font></Label>
      <Label fx:id="namelabel" layoutX="165.0" layoutY="209.0" prefHeight="25.0" prefWidth="234.0" text="Label">
         <font>
            <Font size="14.0" />
         </font></Label>
      <TextField fx:id="addressTxtFld" layoutX="165.0" layoutY="244.0" prefHeight="25.0" prefWidth="234.0" promptText="address">
         <font>
            <Font size="14.0" />
         </font></TextField>     
      <TextArea fx:id="memoTxtArea" editable="false" layoutX="165.0" layoutY="279.0" prefHeight="100.0" prefWidth="234.0" promptText="memo">
         <font>
            <Font size="14.0" />
         </font></TextArea>
      <Hyperlink fx:id="linkShowAll" layoutX="39.0" layoutY="435.0" onAction="#linkShowAll" text="Show AllData" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
      <Hyperlink fx:id="linkIndex" layoutX="44.0" layoutY="472.0" onAction="#linkIndex" text="Index" textFill="#3067b4">
         <font>
            <Font size="24.0" />
         </font>
      </Hyperlink>
    </children>
</AnchorPane>

Search
Google


↟ このページの先頭へ