<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    SpringBoot整合JavaFx

    共 7090字,需瀏覽 15分鐘

     ·

    2021-01-27 17:10

    點擊上方藍(lán)色字體,選擇“標(biāo)星公眾號”

    優(yōu)質(zhì)文章,第一時間送達(dá)

    ? 作者?|? 塵世間迷茫的小書童

    來源 |? urlify.cn/j2mUF3

    76套java從入門到精通實戰(zhàn)課程分享

    有興趣使用SpringBoot開發(fā)JavaFx應(yīng)用的朋友可以看一下這個隨筆;

    SpringBoot版本:2.1.15.RELEASE

    JavaFx依賴:


    ????????????de.roskenet
    ????????????springboot-javafx-support
    ????????????2.1.6
    ????????

    ????????
    ????????????de.roskenet
    ????????????springboot-javafx-test
    ????????????1.3.0
    ????????????test
    ????????

    ?

    SpringBoot啟動類需要稍加改造:

    import?com.maxinhai.diary.view.IndexFxmlView;
    import?com.maxinhai.diary.view.StartUpPage;
    import?de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport;
    import?org.springframework.boot.SpringApplication;
    import?org.springframework.boot.autoconfigure.SpringBootApplication;

    /**
    ?*?Mood?Diary應(yīng)用啟動入口
    ?*/
    @SpringBootApplication
    public?class?DiaryApplication?extends?AbstractJavaFxApplicationSupport?{

    ????public?static?void?main(String[]?args)?{
    ????????//?原SpringBoot啟動方法
    ????????//SpringApplication.run(DiaryApplication.class,?args);
    ????????launch(DiaryApplication.class,?IndexFxmlView.class,?new?StartUpPage(),?args);
    ????}

    }

    上面是加了啟動動畫的啟動方法

    ?

    fxml文件存放到resources文件加下即可:

    ?

    fxml文件:

    "1.0"?encoding="UTF-8"?>









    "400.0"?prefWidth="600.0"?xmlns="http://javafx.com/javafx/8.0.172-ea"
    ????????????xmlns:fx="http://javafx.com/fxml/1"
    ????????????stylesheets="@/css/index.css"
    ????????????fx:controller="com.maxinhai.diary.controller.IndexController">
    ????
    ????????source="menuBar.fxml"/>
    ????????"label"?layoutX="20.0"?layoutY="20.0"?text="hello">
    ????????????
    ????????????????"61.0"/>
    ????????????

    ????????
    ????????"20.0"?layoutY="100.0">
    ????????????
    ????????????????
    ????????????????????
    ????????????????????????"btn"?layoutX="20.0"?layoutY="250.0"?mnemonicParsing="false"?text="Button"?onAction="#btnClick"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????????"22.0"?prefWidth="40.0"?/>
    ????????????????????????"btnLogin"?layoutX="80.0"?layoutY="250.0"?mnemonicParsing="false"?text="Login"?onAction="#btnToPage"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????????"22.0"?prefWidth="40.0"?/>
    ????????????????????????"listView"?layoutX="160.0"?layoutY="250.0"?mnemonicParsing="false"?text="toListView"?onAction="#btnToListViewPage"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????

    ????????????????

    ????????????????"hBox1"?>
    ????????????????????
    ????????????????????????"tableView"?layoutX="240.0"?layoutY="250.0"?mnemonicParsing="false"?text="toTableView"?onAction="#btnToTableViewPage"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????????"22.0"?prefWidth="40.0"?/>
    ????????????????????????"btnToMenuBar"?layoutX="320.0"?layoutY="250.0"?mnemonicParsing="false"?text="btnToMenuBar"?onAction="#btnToMenuBar"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????????"22.0"?prefWidth="40.0"?/>
    ????????????????????????"btnToDiaryList"?layoutX="400.0"?layoutY="250.0"?mnemonicParsing="false"?text="btnToDiaryList"?onAction="#btnToDiaryList"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????

    ????????????????
    ????????????????"hBox2"?>
    ????????????????????
    ????????????????????????"1"?layoutX="240.0"?layoutY="250.0"?mnemonicParsing="false"?text="計算器"?onAction="#btnToCalculator"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????????"22.0"?prefWidth="40.0"?/>
    ????????????????????????"2"?layoutX="320.0"?layoutY="250.0"?mnemonicParsing="false"?text="時鐘"?onAction="#btnToShowTime"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????????"22.0"?prefWidth="40.0"?/>
    ????????????????????????"3"?layoutX="400.0"?layoutY="250.0"?mnemonicParsing="false"?text="btnToDiaryList"?onAction="#btnToDiaryList"?prefHeight="22.0"?prefWidth="100.0">
    ????????????????????????????
    ????????????????????????????????"5.0"?/>
    ????????????????????????????

    ????????????????????????????
    ????????????????????????????????"5.0"?left="5.0"?right="5.0"?top="5.0"?/>
    ????????????????????????????

    ????????????????????????
    ????????????????????

    ????????????????
    ????????????

    ????????
    ????



    ?FxmlView 界面試圖類創(chuàng)建:

    import?de.felixroske.jfxsupport.AbstractFxmlView;
    import?de.felixroske.jfxsupport.FXMLView;

    @FXMLView(value?=?"/fxml/index.fxml",title?=?"index",bundle?=?"i18n.index",encoding?=?"utf-8")
    public?class?IndexFxmlView?extends?AbstractFxmlView?{

    }


    FxmlController 界面操作方法淚創(chuàng)建:

    import?com.maxinhai.diary.DiaryApplication;
    import?com.maxinhai.diary.view.*;
    import?de.felixroske.jfxsupport.FXMLController;
    import?javafx.event.ActionEvent;
    import?javafx.fxml.FXML;
    import?javafx.fxml.Initializable;
    import?javafx.scene.control.Button;
    import?javafx.scene.control.Label;

    import?java.net.URL;
    import?java.util.ResourceBundle;

    /**
    ?*?首頁控制器
    ?*/
    @FXMLController
    public?class?IndexController?implements?Initializable?{

    ????@FXML
    ????private?Button?btn;

    ????@FXML
    ????private?Button?btnLogin;

    ????@FXML
    ????private?Button?listView;

    ????@FXML
    ????private?Label?label;

    ????private?ResourceBundle?resourceBundle;

    ????@Override
    ????public?void?initialize(URL?location,?ResourceBundle?resources)?{
    ????????resourceBundle?=?resources;
    ????}

    ????@FXML
    ????public?void?btnClick(ActionEvent?actionEvent)?{
    ????????label.setText("helloWorld");
    ????}


    ????/**
    ?????*?跳轉(zhuǎn)場景
    ?????*?@param?actionEvent
    ?????*/
    ????@FXML
    ????public?void?btnToPage(ActionEvent?actionEvent)?{
    ????????DiaryApplication.showView(ImageFxmlView.class);
    ????}

    ????/**
    ?????*?跳轉(zhuǎn)場景
    ?????*?@param?actionEvent
    ?????*/
    ????@FXML
    ????public?void?btnToListViewPage(ActionEvent?actionEvent)?{
    ????????DiaryApplication.showView(ListViewFxmlView.class);
    ????}

    ????/**
    ?????*?跳轉(zhuǎn)場景
    ?????*?@param?actionEvent
    ?????*/
    ????@FXML
    ????public?void?btnToTableViewPage(ActionEvent?actionEvent)?{
    ????????DiaryApplication.showView(TableViewFxmlView.class);
    ????}

    ????/**
    ?????*?跳轉(zhuǎn)場景
    ?????*?@param?actionEvent
    ?????*/
    ????@FXML
    ????public?void?btnToMenuBar(ActionEvent?actionEvent)?{
    ????????DiaryApplication.showView(MenuBarFxmlView.class);
    ????}

    ????/**
    ?????*?跳轉(zhuǎn)場景
    ?????*?@param?actionEvent
    ?????*/
    ????@FXML
    ????public?void?btnToDiaryList(ActionEvent?actionEvent)?{
    ????????DiaryApplication.showView(DiaryListFxmlView.class);
    ????}

    ????/**
    ?????*?跳轉(zhuǎn)場景
    ?????*?@param?actionEvent
    ?????*/
    ????@FXML
    ????public?void?btnToCalculator(ActionEvent?actionEvent)?{
    ????????DiaryApplication.showView(CalculatorFxmlView.class);
    ????}

    ????@FXML
    ????public?void?btnToShowTime(ActionEvent?actionEvent)?{
    ????????DiaryApplication.showView(ShowTimeFxmlView.class);
    ????}

    }


    StartUpPage啟動動畫類:

    import?com.maxinhai.diary.config.Constant;
    import?de.felixroske.jfxsupport.SplashScreen;
    import?javafx.scene.Parent;
    import?javafx.scene.control.ProgressBar;
    import?javafx.scene.image.ImageView;
    import?javafx.scene.layout.VBox;

    /**
    ?*?應(yīng)用啟動頁
    ?*/
    public?class?StartUpPage?extends?SplashScreen?{


    ????@Override
    ????public?Parent?getParent()?{
    ????????final?ImageView?imageView?=?new?ImageView(getClass().getResource(getImagePath()).toExternalForm());
    ????????final?ProgressBar?splashProgressBar?=?new?ProgressBar();
    ????????splashProgressBar.setPrefWidth(imageView.getImage().getWidth());
    ????????final?VBox?vbox?=?new?VBox();
    ????????vbox.getChildren().addAll(imageView,?splashProgressBar);
    ????????return?vbox;
    ????}

    ????/**
    ?????*?是否顯示:?true顯示
    ?????*?@return
    ?????*/
    ????@Override
    ????public?boolean?visible()?{
    ????????return?true;
    ????}

    ????/***
    ?????*?啟動頁圖片
    ?????*?@return
    ?????*/
    ????@Override
    ????public?String?getImagePath()?{
    ????????//?圖片路徑
    ????????return?Constant.START_UP_IMAGE_URL;
    ????}
    }

    ?

    ?application.properties

    server.port=10010

    畢竟是SpringBoot項目啟動端口還是要配置的

    ?

    要是嫌棄上面fxml、controller里的代碼太多,可以刪除里面的大多數(shù)節(jié)點,簡單跑起來





    粉絲福利:Java從入門到入土學(xué)習(xí)路線圖

    ??????

    ??長按上方微信二維碼?2 秒


    感謝點贊支持下哈?

    瀏覽 93
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    久久久久久99精品久久久 | 成人黄色网址免费 | 久草手机在线 | www.日本特黄24小时免费 | 一区二区做爱视频 |