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();