<?xml version="1.0" encoding="UTF-8"?>
|
|
<?import javafx.geometry.Insets?>
|
<?import javafx.scene.control.*?>
|
<?import javafx.scene.input.*?>
|
<?import javafx.scene.layout.*?>
|
<?import javafx.scene.text.*?>
|
<AnchorPane prefHeight="380.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
|
fx:controller="com.github.hunter0x7c7.sync.ctrls.Controller">
|
<children>
|
<VBox prefHeight="380.0" prefWidth="600.0">
|
<children>
|
<MenuBar prefHeight="25.0" prefWidth="600.0">
|
<menus>
|
<Menu mnemonicParsing="false" text="文件(F)">
|
<items>
|
<MenuItem mnemonicParsing="false" onAction="#onClickParameter"
|
text="参数(P) ">
|
<accelerator>
|
<KeyCodeCombination alt="DOWN" code="P" control="UP" meta="UP" shift="UP"
|
shortcut="UP"/>
|
</accelerator>
|
</MenuItem>
|
<MenuItem mnemonicParsing="false" onAction="#onClickExit" text="退出(E) ">
|
<accelerator>
|
<KeyCodeCombination alt="DOWN" code="E" control="UP" meta="UP" shift="UP"
|
shortcut="UP"/>
|
</accelerator>
|
</MenuItem>
|
</items>
|
</Menu>
|
<Menu mnemonicParsing="false" text="操作(O)">
|
<items>
|
<MenuItem mnemonicParsing="false" onAction="#onClickStartSync"
|
text="启动(S) ">
|
<accelerator>
|
<KeyCodeCombination alt="DOWN" code="S" control="UP" meta="UP" shift="UP"
|
shortcut="UP"/>
|
</accelerator>
|
</MenuItem>
|
<MenuItem mnemonicParsing="false" onAction="#onClickStopSync"
|
text="停止(T) ">
|
<accelerator>
|
<KeyCodeCombination alt="DOWN" code="T" control="UP" meta="UP" shift="UP"
|
shortcut="UP"/>
|
</accelerator>
|
</MenuItem>
|
<MenuItem mnemonicParsing="false" onAction="#onClickSaveConfig"
|
text="保存配置(F) ">
|
<accelerator>
|
<KeyCodeCombination alt="DOWN" code="F" control="UP" meta="UP" shift="UP"
|
shortcut="UP"/>
|
</accelerator>
|
</MenuItem>
|
</items>
|
</Menu>
|
<Menu mnemonicParsing="false" text="帮助(H)">
|
<items>
|
<MenuItem mnemonicParsing="false" onAction="#onClickAbout"
|
text="关于 SyncTools(A) "/>
|
</items>
|
</Menu>
|
</menus>
|
</MenuBar>
|
<Pane layoutY="45.0" prefHeight="355.0" prefWidth="600.0">
|
<children>
|
<Pane prefHeight="210.0" prefWidth="300.0">
|
<children>
|
<Text layoutX="25.0" layoutY="33.0" strokeType="OUTSIDE" strokeWidth="0.0"
|
text="数据库">
|
<font>
|
<Font size="18.0"/>
|
</font>
|
</Text>
|
<Text fill="#000000b3" layoutX="40.0" layoutY="63.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="主机">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<TextField fx:id="tvInputSrcHost" layoutX="83.0" layoutY="40.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入数据库连接地址">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</TextField>
|
<Text fill="#000000b3" layoutX="25.0" layoutY="100.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="用户名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<TextField fx:id="tvInputSrcName" layoutX="83.0" layoutY="79.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入用户名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</TextField>
|
<Text fill="#000000b3" layoutX="40.0" layoutY="140.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="密码">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<PasswordField fx:id="tvInputSrcPwd" layoutX="83.0" layoutY="118.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入密码">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</PasswordField>
|
<Text fill="#000000b3" layoutX="40.0" layoutY="178.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="库名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<TextField fx:id="tvInputSrcDbName" layoutX="83.0" layoutY="157.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入库名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</TextField>
|
|
|
</children>
|
</Pane>
|
<Pane layoutX="300.0" prefHeight="210.0" prefWidth="300.0">
|
<children>
|
<Text layoutX="21.0" layoutY="34.0" strokeType="OUTSIDE" strokeWidth="0.0"
|
text="目标库">
|
<font>
|
<Font size="18.0"/>
|
</font>
|
</Text>
|
<Text fill="#000000b3" layoutX="40.0" layoutY="63.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="主机">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<TextField fx:id="tvInputTargetHost" layoutX="84.0" layoutY="41.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入数据库连接地址">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</TextField>
|
<Text fill="#000000b3" layoutX="24.0" layoutY="102.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="用户名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<TextField fx:id="tvInputTargetName" layoutX="84.0" layoutY="79.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入用户名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</TextField>
|
<Text fill="#000000b3" layoutX="41.0" layoutY="141.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="密码">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<PasswordField fx:id="tvInputTargetPwd" layoutX="84.0" layoutY="118.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入密码">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</PasswordField>
|
<Text fill="#000000b3" layoutX="41.0" layoutY="178.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="库名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<TextField fx:id="tvInputTargetDbName" layoutX="84.0" layoutY="157.0" prefHeight="23.0"
|
prefWidth="200.0" promptText="请输入库名">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</TextField>
|
</children>
|
</Pane>
|
<Pane layoutY="200.0" prefHeight="150.0" prefWidth="300.0">
|
<children>
|
<Text layoutX="27.0" layoutY="23.0" strokeType="OUTSIDE" strokeWidth="0.0"
|
text="同步信息">
|
<font>
|
<Font size="18.0"/>
|
</font>
|
</Text>
|
<Text fill="#000000b3" layoutX="39.0" layoutY="55.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="频率">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<TextField fx:id="tvInputFreq" layoutX="82.0" layoutY="32.0" prefHeight="34.0"
|
prefWidth="110.0" promptText="同步频率">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</TextField>
|
<ComboBox fx:id="cbSelectFreqUnit" layoutX="200.0" layoutY="32.0" prefHeight="34.0"
|
prefWidth="84.0" promptText="分钟">
|
<opaqueInsets>
|
<Insets/>
|
</opaqueInsets>
|
</ComboBox>
|
<Text fill="#000000b3" layoutX="28.0" layoutY="93.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="同步状态">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Text fx:id="txSyncStatus" fill="#000000e6" layoutX="100.0" layoutY="93.0"
|
strokeType="OUTSIDE" strokeWidth="0.0" text="同步中">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Text fill="#000000b3" layoutX="27.0" layoutY="118.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="开始同步时间">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Text fill="#000000b3" layoutX="171.0" layoutY="93.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="同步次数">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Text fx:id="txStartSyncTime" fill="#000000e6" layoutX="136.0" layoutY="119.0"
|
strokeType="OUTSIDE" strokeWidth="0.0" text="2023-01-01 09:30:00">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Text fill="#000000b3" layoutX="27.0" layoutY="139.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="最后同步时间">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Text fx:id="txLastSyncTime" fill="#000000e5" layoutX="136.0" layoutY="140.0"
|
strokeType="OUTSIDE" strokeWidth="0.0" text="2023-01-01 09:30:00">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Text fx:id="txSyncCount" fill="#000000e6" layoutX="243.0" layoutY="93.0"
|
strokeType="OUTSIDE" strokeWidth="0.0" text="99999">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
</children>
|
</Pane>
|
<Pane layoutX="340.0" layoutY="200.0" prefHeight="150.0" prefWidth="260.0">
|
<children>
|
<Text fx:id="txOutResult" layoutX="44.0" layoutY="24.0" strokeType="OUTSIDE"
|
strokeWidth="0.0" text="初始化中..." textAlignment="CENTER" wrappingWidth="200.0">
|
<font>
|
<Font size="16.0"/>
|
</font>
|
</Text>
|
<Button fx:id="btnSaveConfig" layoutX="44.0" layoutY="37.0" mnemonicParsing="false"
|
onAction="#onClickSaveConfig" prefHeight="34.0" prefWidth="200.0"
|
text="保存配置"/>
|
<Button fx:id="btnStartSync" defaultButton="true" layoutX="44.0" layoutY="78.0"
|
mnemonicParsing="false" onAction="#onClickStartSync" prefHeight="62.0"
|
prefWidth="122.0" text="启动">
|
<font>
|
<Font size="18.0"/>
|
</font>
|
</Button>
|
<Button fx:id="btnStopSync" disable="true" layoutX="172.0" layoutY="78.0"
|
mnemonicParsing="false" onAction="#onClickStopSync" prefHeight="62.0"
|
prefWidth="72.0" text="停止"/>
|
</children>
|
</Pane>
|
</children>
|
</Pane>
|
</children>
|
</VBox>
|
</children>
|
</AnchorPane>
|