使用现有的fxml脚本创建JFXDialog

时间:2017-08-03 02:13:10

标签: java javafx material-design jfoenix

当我的程序在后台运行任务时,我正在尝试显示加载弹出窗口。我正在使用Jfoenix为我的程序提供材料设计外观,我正在尝试使用JFXDialog来显示加载弹出窗口。我使用场景构建器在堆栈窗格中创建了一个弹出窗口...

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

<?import com.jfoenix.controls.JFXSpinner?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>


<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="70.0" prefWidth="180.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <JFXSpinner>
         <padding>
            <Insets right="100.0" />
         </padding>
      </JFXSpinner>
      <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Loading">
         <StackPane.margin>
            <Insets left="50.0" />
         </StackPane.margin>
         <font>
            <Font name="Roboto Medium" size="20.0" />
         </font>
      </Text>
   </children>
</StackPane>

我试图在JFXDialog中使用它......

private void createLoadingScreen() throws IOException{
    StackPane pane = FXMLLoader.load(getClass().getResource("LoadingScreen.fxml));
    StackPane stackPane = new StackPane();
    mLoad = new JFXDialog(stackPane, pane, JFXDialog.DialogTransition.CENTER);
}

我知道我并没有正确地做到这一点,因为当我试图在适当的时候提起它时,它并没有出现。但是,我不知道我到底做错了什么。 有人对此有任何指示吗?

1 个答案:

答案 0 :(得分:0)

尝试这种方式:

    ole@mki:~/SuperflyCSS/cli$ npm list -g | grep superfly
    ├─┬ @superflycss/cli@4.1.2 -> /home/ole/SuperflyCSS/cli
    │ ├─┬ @superflycss/pli@3.0.0

stackpane是fxml文件中我StackPane的ID。 您必须为JFXDialog使用堆栈窗格。 它对我有用。