JavaFX爱好者看过来,这款工具值得拥有

这篇具有很好参考价值的文章主要介绍了JavaFX爱好者看过来,这款工具值得拥有。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

       各位CSDN的博友们,随着各地政策的放开,大伙现在是在水深火热当中呢?还是天选打工人-安然无羊。在这里,希望阳了的朋友,赶紧恢复健康,早日康复。希望没有阳的朋友们,继续坚持,万一要阳,也一定要做一直美羊羊。

      之前因为工作需要,看了一些JavaFx的相关资料,也简单讲解了怎么开发JavaFx应用程序。感兴趣的朋友可以去之前的博客中找一找。JavaFx在Java开发当中确实属于小众的一类,不吹不黑。由于它的小众,在ui方面和快速开发方面,确实没有Web开发的框架那么多。相对于桌面应用来说,Web端的应用框架就比较多了,比如单体化的Bootstrap、Layui,流行的Vue和React等等框架都可以。本文分享一个基于JavaFx开发的比较好的集成框架,同时本身带了一些比较实用的应用,这个框架通过Jar包引入的方式进行解耦,实现了轻量化开发和集成。对于有需要的朋友,可以快速出成果是一个非常不错的基础框架。

一、初识xJavaFxTool

1、项目简介

       xJavaFxTool是使用javaFx开发的实用小工具集,利用业余时间把工作中遇到的一些问题总结起来,打包进小工具集中,供大家参考和使用,里面包含了javaFx的一些功能的示例,如布局、国际化、第三方UI库controlsfx、JFoenix等、外部jar包加载(插件机制)等一些常用功能,想学习javaFx的同学可以参考参考,学习javaFx的资料参考www.javafxchina.net,它是使用木兰宽松许可证的开源软件。xJavaTool的开源地址是:xJavaTool gitee地址

2、开发环境

       如果不是特别需要升级JDK,正常可以直接使用JDK1.8即可,xJavaTool最新版本是有升级到JDK17,无必要不升级。源码编译依赖如下

  1. 基于maven3.6.3构建
  2. 使用eclipase或Intellij Idea开发
  3. 本项目使用了lombok,在查看本项目时如果您没有下载lombok 插件,请先安装
  4. 依赖的xcore包已上传至git托管的maven平台,git托管maven可参考教程(若无法下载请拉取项目自行编译)。
  5. 使用javapackager插件进行打包操作(可打包windows、Linux、Mac安装包)
  6. 使用InnoSetup可进行制作windows安装包

3、源码目录说明

将代码clone到本地目录后,可以看到如下的工程:

JavaFX爱好者看过来,这款工具值得拥有

 工程目录说明如下:

xJavaFxTool
├─ images	项目截图
├─ pom.xml	maven配置文件
├─ README.md	说明文件
├─ src
│  ├─ main
│  │  ├─ java
│  │  │  └─ com
│  │  │   └─ xwintop
│  │  │    └─ xJavaFxTool
│  │  │     ├─ common	第三方工具类
│  │  │     ├─ controller	javafx控制层
│  │  │     │  └─ index	首页控制层
│  │  │     ├─ model	基础bean类层
│  │  │     ├─ services	工具服务层
│  │  │     │  └─ index	首页工具服务层
│  │  │     ├─ utils	系统工具类
│  │  │     └─ view	javafx视图层
│  │  │        └─ index	首页工具视图层
│  │  └─ resources
│  │   ├─ com
│  │   │  └─ xwintop
│  │   │   └─ xJavaFxTool
│  │   │    └─ fxmlView     .fxml文件
│  │   ├─ config	配置文件
│  │   │  └─ toolFxmlLoaderConfiguration.xml	系统菜单加载配置文件
│  │   ├─ css	样式资源
│  │   ├─ images	图片资源
│  │   ├─ locale	国际化
│  │   ├─ banner.txt	启动banner图片
│  │   └─ logback.xml	logback日志配置文件
│  └─ test  测试类
│   ├─ java
│   └─ resources

二、xJavaFxTool调试

1、入口函数

在IDE中打开Main.java代码,这是JavaFx应用程序的入口。

package com.xwintop.xJavaFxTool;

import com.xwintop.xJavaFxTool.fxmlView.IndexView;
import com.xwintop.xJavaFxTool.utils.StageUtils;
import com.xwintop.xJavaFxTool.utils.XJavaFxSystemUtil;
import com.xwintop.xcore.util.javafx.AlertUtil;
import com.xwintop.xcore.util.javafx.JavaFxViewUtil;
import de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport;
import de.felixroske.jfxsupport.GUIState;
import de.felixroske.jfxsupport.SplashScreen;
import javafx.application.Platform;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * @ClassName: Main
 * @Description: 启动类
 * @author: xufeng
 * @date: 2017年11月10日 下午4:34:11
 */
@SpringBootApplication
@Slf4j
public class Main extends AbstractJavaFxApplicationSupport {

    public static void main(String[] args) {
        XJavaFxSystemUtil.initSystemLocal();//初始化本地语言
        XJavaFxSystemUtil.addJarByLibs();//添加外部jar包

        SplashScreen splashScreen = new SplashScreen() {
            @Override
            public String getImagePath() {
                return "/images/javafx.png";
            }
        };
        launch(Main.class, IndexView.class, splashScreen, args);
//		launchApp(Main.class, IndexView.class, args);
    }

    @Override
    public void beforeInitialView(Stage stage, ConfigurableApplicationContext ctx) {
        super.beforeInitialView(stage, ctx);
        Scene scene = JavaFxViewUtil.getJFXDecoratorScene(stage, "", null, new AnchorPane());
        stage.setScene(scene);
        stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
            @Override
            public void handle(WindowEvent event) {
                if (AlertUtil.showConfirmAlert("确定要退出吗?")) {
                    System.exit(0);
                } else {
                    event.consume();
                }
            }
        });
        GUIState.setScene(scene);
        Platform.runLater(() -> {
            StageUtils.updateStageStyle(GUIState.getStage());
        });
    }
}

在这里定义了初始窗口引用的图片等资源,还定义了一个退出回调。

JavaFX爱好者看过来,这款工具值得拥有

 2、系统首页

      在系统首页中,内置了许多的功能,包含菜单管理、插件管理、系统设置等等。这里着重介绍一下这三个功能。

JavaFX爱好者看过来,这款工具值得拥有

 系统首页内置了一个WebView浏览器,可以打开Web界面。关键代码如下:

//public static final String QQ_URL = "https://support.qq.com/product/127577";
	public static final String QQ_URL = "https://blog.csdn.net/yelangkingwuzuhu?type=blog";
	
    
    public static final String STATISTICS_URL = "https://xwintop.gitee.io/maven/tongji/xJavaFxTool.html";

    private Map<String, Menu> menuMap = new HashMap<String, Menu>();
    private Map<String, MenuItem> menuItemMap = new HashMap<String, MenuItem>();
    private IndexService indexService = new IndexService(this);
    private ContextMenu contextMenu = new ContextMenu();

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        this.bundle = resources;
        initView();
        initEvent();
        initService();

        initNotepad();
        //this.indexService.addWebView("欢迎吐槽", QQ_URL, null);
        this.indexService.addWebView("欢迎指导", QQ_URL, null);
        this.tongjiWebView.getEngine().load(STATISTICS_URL);
    }

      你可以进行深度定制。将默认的访问地址替换成企业的官方网站或者自己的博客地址。

3、插件集成

      在插件管理中,系统已经内置了很多丰富的插件,可以自由下载使用,还可以基于扩展规范,集成自己的扩展插件。具体的集成方法和开发方式放到下回讲解。

JavaFX爱好者看过来,这款工具值得拥有

 点击下载后,就可以直接使用了。这里演示一个系统信息的展示插件。

JavaFX爱好者看过来,这款工具值得拥有

 其它更有意思的插件,可以关注开源网站进行获取学习。通过这种插件集成的方式极大的丰富了系统的应用模式。

三、总结

       以上就是本文的主要内容,本文分享了一款使用javaFx开发的实用小工具集xJavaFxTool,将很多的插件打包进小工具集中,供大家参考和使用,里面包含了javaFx的一些功能的示例,如布局、国际化、第三方UI库controlsfx、JFoenix等、外部jar包加载(插件机制)等一些常用功能,想学习javaFx的同学可以参考参考,学习javaFx的资料参考www.javafxchina.net,它是使用木兰宽松许可证的开源软件。心动不如行动,喜欢的朋友可以学习起来,给自己充电加油。

 文章来源地址https://www.toymoban.com/news/detail-419091.html

 

到了这里,关于JavaFX爱好者看过来,这款工具值得拥有的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手机还能做电路仿真啊!电子电路兴趣爱好者福音!

    不知道大家喜不喜欢平时动手做点小玩具或者一些小的电子电路方面的手工。比如制做一个音频功率放大器(音响),数码管时钟,电磁炮之类的。霸哥偶尔也会动手做一些,不过因为专业原因我甚至连专业的电路软件都不会用,几经辗转我找到了一些手机仿真软件。初学者

    2024年02月09日
    浏览(26)
  • 云原生爱好者周刊:野心很大的云原生数据库 SurrealDB

    SurrealDB SurrealDB 是一个开源的端到端云原生数据库,同时支持 Table、Document 和 Graph 等多种数据模型,对外提供 SurrealQL、GraphQL、Rest 与 WebSocket 等多种查询方式,支持实时查询和权限等高级特性,既可以嵌入式部署,也可以在云端扩展为分布式的数据库。 pg_watch_demo 这个项目在

    2023年04月09日
    浏览(82)
  • 国外大学生都用FPGA做什么项目(六)-游戏爱好者的福音

    看看国外大学的FPGA开发项目 据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都

    2024年01月17日
    浏览(27)
  • VueHub:我用 ChatGPT 开发的第一个项目,送给所有 Vue 爱好者

    大家好,我是DOM哥。 我用 ChatGPT 开发了一个 Vue 的资源导航网站。 不管你是资深 Vue 用户,还是刚入门想学习 Vue 的小白,这个网站都能帮助到你。 网站地址:https://dombro.site/vue#/vue 纯净模式:https://dombro.site/spa/#/vue 项目托管在 GitHub,访问不了的可以私信我哟,包教包会 Vu

    2023年04月27日
    浏览(35)
  • 基于 Debian 12 的 Devuan GNU+Linux 5 为软件自由爱好者而生

    导读 Devuan 开发人员宣布发布 Devuan GNU+Linux 5.0 “代达罗斯 “发行版,它是 Debian GNU/Linux 操作系统的 100% 衍生版本,不包含 systemd 和相关组件。 Devuan GNU+Linux 5 基于最新的 Debian GNU/Linux 12 “书虫 “操作系统系列,采用长期支持的 Linux 6.1 LTS 内核系列。 该版本的新功能包括使用

    2024年02月10日
    浏览(29)
  • 体验感极好,docker爱好者福音,1Panel服务器运维管理面板使用引导功能介绍

    目录 一.介绍 二.特点 1.服务器管理便捷高效 2.资源实时监控 3.日志管理 4.远程终端访问 5.防护性较强 6.功能强大 三.与1Panel交流讨论 1.官网主页 2.微信公众号 3.哔哩哔哩账户 四.获取1Panel 1.进入官网,已提供安装方式 2.按提示安装 3.部署完成后之后要查看入口和用户密码信息

    2024年02月04日
    浏览(36)
  • 基于java的古诗词爱好者学习交流平台的设计与实现(Springboot框架) 研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(46)
  • 低代码开发大势所趋,这款无代码开发平台你值得拥有

    低代码(Low Code)是一种可视化的应用开发方法,用较少的代码、以较快的速度来交付应用程序,将程序员不想开发的代码做到自动化,称之为低代码。 低代码实现又可以细分为以下几种: no code :自己编程给自己用,给用户的感觉是一个更强大的办公/实用软件。主要的手段

    2024年02月05日
    浏览(36)
  • 200+的AI绘画工具你值得拥有

    200+的AI绘画工具你值得拥有 工具 简介 链接 分类 描述1 描述2 是否免费 Midjourney 一个独立的研究实验室,探索新的思想媒介,拓展人类的想象力。 https://www.midjourney.com/ 图片 Ai绘画 艺术 Draft ai绘画 https://draft.art/1891704 图片 Ai绘画 艺术 意间AI绘画 意间ai绘画,微信小程序。 h

    2024年02月11日
    浏览(33)
  • 200+的AI写作工具你值得拥有

    200+的AI写作工具你值得拥有 工具 简介 链接 分类 描述1 描述2 是否免费 Better Synonyms BetterSynonyms是一个方便的工具,可以帮助你在特定语境中找到更好的同义词。它可以帮助你搜索更自然地放入句子中的同义词,从而更容易传达出你想要表达的意思。 http://www.bettersynonyms.com 写

    2024年02月05日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包