JavaFx之Ikonli图标库大全(十五)
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();
三、一健三连
创作不易,你觉得对你有帮助请给我点个赞!一健三连…谢谢啦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)