JavaFx之Ikonli图标库大全(十五)

Ikonli给java提供了大量的图标库,
官网:https://kordamp.org/ikonli/

Ikonli 提供了可以在 Java 应用程序中使用的图标包。目前支持 Swing 和 JavaFX UI 工具包。

其中ikonli有非常多图标库,下面我只显示fontawesome,想要其他图标可引入对应依赖即可。
这里我演示使用javafx+java 8:ikonli-javafx-12.2.0 (JDK 11+)或ikonli-javafx-2.6.0 (JDK 8)
先引入依赖:

<!-- javafx 支持 -->
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-javafx</artifactId>
<version>2.6.0</version>
</dependency>
<!-- fontawesome图标 java8 不支持 ikonli-fontawesome5-pack -->
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-fontawesome-pack</artifactId>
<version>2.6.0</version>
</dependency>

对应的图标编码在这里:https://kordamp.org/ikonli/cheat-sheet-fontawesome.html

一、使用XML加载

import java.net.URL;

/**
* @author lingkang
*/
public class Ikonli01 extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// 加载 xml
URL resource = getClass().getResource("/fxml/test/ikonli-icon.fxml");
AnchorPane load = FXMLLoader.load(resource); primaryStage.setScene(new Scene(load));
primaryStage.show();
} public static void main(String[] args) {
launch(args);
}
}
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>
<?import org.kordamp.ikonli.javafx.FontIcon?>
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
prefHeight="400.0" prefWidth="600.0">
<Button text="按钮图标" style="-fx-background-color: red">
<graphic>
<FontIcon fill="white" iconLiteral="fa-address-book"/>
</graphic>
</Button>
<Button text="普通按钮图标" layoutY="30" style="-fx-background-color: blue"></Button>
</AnchorPane>

二、使用代码加载

AnchorPane anchorPane=new AnchorPane();
anchorPane.setPrefWidth(400);
anchorPane.setPrefHeight(300); FontIcon fontIcon=new FontIcon("fa-address-card-o");
fontIcon.setFill(Paint.valueOf("red")); // 图标需要放在label中,或者其他标签,例如按钮等
Label label=new Label();
label.setGraphic(fontIcon);
label.setFont(Font.font(18));
label.setLayoutX(10);
label.setLayoutY(10); FontIcon icon=new FontIcon("fa-apple"); Button button=new Button("图标按钮");
button.setGraphic(icon);
button.setLayoutX(10);
button.setLayoutY(40);
button.setFont(Font.font(30));
anchorPane.getChildren().addAll(label,button);
primaryStage.setScene(new Scene(anchorPane));
primaryStage.show();

三、一健三连

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

JavaFx之Ikonli图标库大全(十五)的更多相关文章

  1. 《Linux命令行与shell脚本编程大全》 第十五章 学习笔记

    第十五章:控制脚本 处理信号 重温Linux信号 信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能 ...

  2. Android图表库MPAndroidChart(十二)——来点不一样的,正负堆叠条形图

    Android图表库MPAndroidChart(十二)--来点不一样的,正负堆叠条形图 接上篇,今天要说的,和上篇的类似,只是方向是有相反的两面,我们先看下效果 实际上这样就导致了我们的代码是比较类 ...

  3. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  4. 王颖奇 20171010129《面向对象程序设计(java)》第十五周学习总结

    实验十五  GUI编程练习与应用程序部署 实验时间 2018-12-6 学习总结: 理论部分: ◼ JAR文件◼ 应用程序首选项存储◼ Java Web Start JAR文件: 1.Java程序的打 ...

  5. Bootstrap <基础二十五>警告(Alerts)

    警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个 ...

  6. Bootstrap<基础十五> 输入框组

    Bootstrap 支持的另一个特性,输入框组.输入框组扩展自 表单控件.使用输入框组,可以很容易地向基于文本的输入框添加作为前缀和后缀的文本或按钮. 通过向输入域添加前缀和后缀的内容,您可以向用户输 ...

  7. 无废话ExtJs 入门教程十五[员工信息表Demo:AddUser]

    无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一 ...

  8. php大力力 [037节] Iconfont-阿里巴巴矢量图标库

    Iconfont-阿里巴巴矢量图标库 从此不求人:自主研发一套PHP前端开发框架 Iconfont-中国第一个最大且功能最全的矢量图标库,提供矢量图标下载.在线存储.格式转换等功能.阿里巴巴体验团队倾 ...

  9. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  10. NeHe OpenGL教程 第三十五课:播放AVI

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

随机推荐

  1. Django-rest-framework框架——Xadmin的使用、Book系列多表群操作、RBAC-基于角色的访问控制

    @ 目录 一 过滤Filtering 二 排序 三 分页Pagination 可选分页器 应用 四 异常处理 Exceptions 4.1 使用方式 4.2 案例 4.3 REST framework ...

  2. [GXYCTF 2019]BabyUpload

    看到题目是一个文件上传 就先随便传的东西试试,看有什么过滤之类的 上传一个一句话木马,提示后缀名不能为ph 随便上传了带有一句话木马的图片,发现上传成功,但这个图片不能直接利用,要先上传一个.htac ...

  3. 【不限框架】超好用的3d开源图片预览插件推荐

    今天给大家推荐一款超好用的图片预览插件-image-preview 简单说明 image-preview是一款主要面向移动端web应用,同时兼容pc,基于原生js,不限框架,react,vue,ang ...

  4. FreeSWITCH的moh使用笔记

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 之前写过FreeSWITCH安装的文章,今天整理下moh使用过程中遇到的问题及解决方案,并提供moh音频下载途径.F ...

  5. LVS负载均衡群集——其二

    LVS-DR 通信四元素:源IP,源端口,目的IP,目的端口 主机A(客户端)-->VIP 主机B(调度器) 主机A(客户端)<--VIP 主机C(节点服务器) 通信五元素:源IP,源端口 ...

  6. windows上时间项目时间正常,Ubuntu16.04上时间错误

    项目本次测试时间正常,放到服务器上时间差8个小时 1.查看Ubuntu系统时间,发现时间设置错误 date -R 该命令会把我们系统的时间还有时区显示出来,我们是属于东八区,如下图: 如果不是 +08 ...

  7. QT中级(2)QTableView自定义委托(二)实现QProgressBar委托

    同系列文章 QT中级(1)QTableView自定义委托(一)实现QSpinBox.QDoubleSpinBox委托 QT中级(2)QTableView自定义委托(二)实现QProgressBar委托 ...

  8. AtCoder Beginner Contest 237 G - Range Sort Query

    原题链接 G - Range Sort Query 思路: \(x\)是固定的,所以考虑将排序维护成0 1串,为\(p_i < x\)为\(0\),那么\(p_i \geq x\)为\(1\), ...

  9. DiscuzQ官方最新v3.0.220211源码编译搭建教程和官方部署教程,适合二开(已本地编译通过,无任何错误)

    经过长达半个月的研究! 完成这篇DiscuzQ官方最新版本v3.0.220211的源码编译和官方部署教程.适合喜欢二次开发的小伙伴们,已经通过本地编译测试,保证没有任何错误. 具体教程在我搭建的dzq ...

  10. 【HITCON 2017】SSRFme——最简单伪协议思路

    [HITCON 2017]SSRFme 1. 看题 代码: <?php if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $http_x_header ...