JavaFx之整合JFoenix

JFoenix是JavaFx流行的UI框架之一
github:https://github.com/sshahine/JFoenix
整合Maven

<!--https://github.com/sshahine/JFoenix-->
<dependency>
<groupId>com.jfoenix</groupId>
<artifactId>jfoenix</artifactId>
<version>8.0.10</version>
</dependency>
<!--图标-->
<dependency>
<groupId>de.jensd</groupId>
<artifactId>fontawesomefx</artifactId>
<version>8.9</version>
</dependency>

一、代码中使用

按钮和图片按钮

import com.jfoenix.controls.JFXButton;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage; /**
* @author lingkang
*/
public class JfTest01 extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
AnchorPane anchorPane=new AnchorPane();
anchorPane.setPrefHeight(100);
anchorPane.setPrefWidth(100); JFXButton jfxButton=new JFXButton("按钮");
jfxButton.setLayoutX(10);
jfxButton.setLayoutY(0);
jfxButton.setStyle("-fx-background-color: #409eff");// 背景颜色 // 限制图片宽高
ImageView imageView = new ImageView("/assets/茶壶.png");
imageView.setFitWidth(16);
imageView.setFitHeight(16);
JFXButton button=new JFXButton("图片按钮",imageView);
button.setLayoutX(10);
button.setLayoutY(40); anchorPane.getChildren().addAll(jfxButton,button);
primaryStage.setScene(new Scene(anchorPane));
primaryStage.show();
} public static void main(String[] args) {
launch(args);
}
}

二、XML中使用:

按钮和图标按钮,,,将上面的代码改为:

// 加载 xml
URL resource = getClass().getResource("/fxml/test/but.fxml");
AnchorPane load = FXMLLoader.load(resource); primaryStage.setScene(new Scene(load));
primaryStage.show();

fxml内容如下:

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

<?import com.jfoenix.controls.JFXButton?>
<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.text.Font?>
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
prefHeight="100.0" prefWidth="100.0">
<JFXButton mnemonicParsing="false" prefHeight="33.0" fx:id="createDownloadTask"
style="-fx-background-color: #409eff;" text="创建JFX任务">
<font>
<Font size="14.0"/>
</font>
<HBox.margin>
<Insets left="100.0" top="12.0"/>
</HBox.margin>
<!--添加图标-->
<graphic>
<FontAwesomeIconView fill="WHITE" glyphName="PLUS" size="14.0"/>
</graphic>
</JFXButton>
<JFXButton layoutX="10" layoutY="60" text="jfx按钮">
</JFXButton>
</AnchorPane>

三、我提供编译好的JFoenix-demo

还有很多模块就不一一展示了,下面提供我编译好的:我用阿里云盘分享了「demo-0.0.0-SNAPSHOT」,你可以不限速下载
复制这段内容打开「阿里云盘」App 即可获取
链接:https://www.aliyundrive.com/s/uxtrJtX837P

下载所有文件,在安装了jdk8的环境运行bin/demo.bat

各个模块的使用方式也非常简单,你只需要进入到源码的fxml中,直接加载使用,例如Checkbox.fxml

        // 加载 xml
URL resource = getClass().getResource("/fxml/test/Checkbox.fxml");
StackPane load = FXMLLoader.load(resource); primaryStage.setScene(new Scene(load));
primaryStage.show();


四、一健三连

创作不易,你觉得对你有帮助请给我点个赞!一健三连…谢谢啦!

JavaFx之整合JFoenix(十四)的更多相关文章

  1. Spring Boot(十四):spring boot整合shiro-登录认证和权限管理

    Spring Boot(十四):spring boot整合shiro-登录认证和权限管理 使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉 ...

  2. 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)

    如约而至,Java 10 正式发布!   3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ...

  3. springboot(十四):springboot整合shiro-登录认证和权限管理(转)

    springboot(十四):springboot整合shiro-登录认证和权限管理 .embody{ padding:10px 10px 10px; margin:0 -20px; border-b ...

  4. spring-boot-route(十四)整合Kafka

    在上一章中SpringBoot整合RabbitMQ,已经详细介绍了消息队列的作用,这一种我们直接来学习SpringBoot如何整合kafka发送消息. kafka简介 kafka是用Scala和Jav ...

  5. 无废话ExtJs 入门教程十四[文本编辑器:Editor]

    无废话ExtJs 入门教程十四[文本编辑器:Editor] extjs技术交流,欢迎加群(201926085) ExtJs自带的编辑器没有图片上传的功能,大部分时候能够满足我们的需要. 但有时候这个功 ...

  6. 【转】花开正当时,十四款120/128GB SSD横向评测

    原文地址:http://www.expreview.com/19604-all.html SSD横评是最具消费指导意义的评测文章,也是各类热门SSD固态硬盘的决斗疆场.SSD评测在行业内已经有不少网站 ...

  7. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

  8. 只需十四步:从零开始掌握 Python 机器学习(附资源)

    分享一篇来自机器之心的文章.关于机器学习的起步,讲的还是很清楚的.原文链接在:只需十四步:从零开始掌握Python机器学习(附资源) Python 可以说是现在最流行的机器学习语言,而且你也能在网上找 ...

  9. 开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/27068645   开发指南专题十四:J ...

  10. 只需十四步:从零开始掌握Python机器学习(附资源)

    转载:只需十四步:从零开始掌握Python机器学习(附资源) Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源.你现在也在考虑从 Python 入门机器学习吗?本教程或许 ...

随机推荐

  1. AcWing - 闫氏DP分析法

    核心思想:从集合角度来分析DP问题 在我们遇到的DP问题中,一般都是求在一个有限集内的最值,但是这些方案数量一般都是指数级别的,想要一个一个查找出来不太可能.所以DP方法是用来优化这种寻找最优方案的过 ...

  2. C++中::和:, .和->的作用和区别

    符号::和:的作用和区别 ::是作用域运算符,A::B表示作用域A中的-名称B,A可以是名字空间.类.结构: 类作用域操作符 "::"指明了成员函数所属的类.如:M::f(s)就表 ...

  3. RocketMQ版控制台,在左侧

    打开IntelliJ IDEA,创建一个Java工程. 在pom.xml文件中添加以下依赖引入Java SDK的依赖库.   <dependency> <groupId>org ...

  4. 山东大学&安恒校赛CTF

    1.babyshell 这段代码是一个函数seccom,它使用seccomp机制来限制进程的系统调用权限.seccomp是一种Linux内核的安全模块,可以用于过滤或限制进程可以执行的系统调用. 具体 ...

  5. sprintf函数内存越界

    最近在做项目的时候遇到sprintf函数内存越界的问题,现在分享给大家,希望对大家有用. 首先介绍了sprintf 这个函数. 函数原型:  int sprintf(char *str, const ...

  6. 一文读懂计算机底层网络原理,包括TCP、UDP、header,什么是包、帧、段等关键问题

    说到计算机网络原理,大家可能马上联想到,七层协议,传输层,链路层,三次握手四次挥手:前端的同学,还会想到我们用Crome F12的network里面的headers,状态码等.后端同学可能会联想到,抓 ...

  7. [C++]P5024 树形DP 保卫王国

    树形DP 保卫王国P5024 前置知识 1.邻接表 + Dfs(深度优先搜索) 2.基础DP(如 01背包 ) 3.最小公共祖先(LCA) LCA我有写过Blog 首先解读一下题意 城市即为节点 每个 ...

  8. 字符串匹配算法:KMP

    Knuth–Morris–Pratt(KMP)是由三位数学家克努斯.莫里斯.普拉特同时发现,所有人们用三个人的名字来称呼这种算法,KMP是一种改进的字符串匹配算法,它的核心是利用匹配失败后的信息,尽量 ...

  9. UIKit Inside: frame bounds position anchorPoint center

    iOS 中UIView的属性:frame.bounds.center以及CALayer的属性:position.anchorPoint与视图的位置与大小相关,理解这些属性是进行 iOS 视图编码的基础 ...

  10. 记一次线上问题引发的对 Mysql 锁机制分析

    背景 最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败 整体业务代码精简逻 ...