日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

idea javafx添加maven_JavaFX让UI更美观CSS样式

發布時間:2025/3/15 java 82 豆豆
生活随笔 收集整理的這篇文章主要介紹了 idea javafx添加maven_JavaFX让UI更美观CSS样式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相對于Swing來說,JavaFX在UI上改善了很多,不僅可以通過FXML來排版布局界面,同時也可以通過CSS樣式表來美化UI。

其實在開發JavaFX應用的時候,可以將FXML看做是HTML,這樣跟CSS結合起來就跟開發WEB應用差不多,只不過兩者之間的語法有點差異。

1. JavaFX CSS語法

JavaFX CSS樣式跟HTML中的CSS樣式很大程度上是相似的,比如class選擇器、組合選擇符、偽元素等。

.root { -fx-body-color : #F5F5F5; -fx-outer-border : #cecece;}VBox > .text-area.first { -fx-border-radius: 4 4 0 0; -fx-background-radius: 4 4 0 0;}.arrow-button:pressed { -fx-background-color: #e6e6e6; -fx-border-color: #acacac; -fx-effect: innershadow(gaussian, #adadad, 10, 0, 0, 3);}

但有一點不同的是,JavaFX的CSS樣式語法都是以“-fx-”作為前綴。

比如:

/* 在CSS中,樣式是這樣寫的 */min-height: 46;max-height: 46;font-size: 18;/* 而在JavaFX中CSS必須這樣寫 */-fx-min-height: 46;-fx-max-height: 46;-fx-font-size: 18;

其實,如果了解CSS,想要編寫JavaFX的CSS難度并不是很大。

2. 用CSS美化控件

在沒有經過CSS美化之前的JavaFX控件,其實跟Swing的控件差別不大,所以想要讓控件更加美觀還是要用CSS來修飾一下。

下面通過簡單的樣式,來美化一下之前的按鈕:

<Button text="Go." style="-fx-min-height: 30; -fx-min-width: 80;-fx-background-color: #337ab7;">Button>

效果圖:

可以看到使用CSS美化過的按鈕要比之前的按鈕好看多了。

3. 使用CSS樣式表美化控件

雖然在控件上加上CSS樣式可以達到美化控件的效果,但是跟寫CSS一樣,這樣的寫CSS樣式很不利于維護。

更好的方式的使用CSS文件統一維護樣式,然后通過class選擇器將樣式綁定在控件上。

首先編程css樣式

在AppUI.fxml相同的目錄下創建AppUI.css,內容如下:

.go { -fx-text-fill: white; -fx-min-height: 30; -fx-min-width: 80; -fx-background-color: #337ab7;}

修改FXML引入樣式

這里單獨為AppUI.fxml引入樣式,所以這需要在BorderPane的stylesheets屬性指定AppUI.css即可。

<BorderPane prefHeight="400.0" prefWidth="600.0" stylesheets="@AppUI.css" xmlns="http://javafx.com/javafx/8.0.172-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.itqn.gui.javafx.wx.ui.AppUI"> <center> <VBox alignment="CENTER" spacing="10.0"> <Label fx:id="text"/> <Button onAction="#click" text="Go." styleClass="go"> Button> VBox> center>BorderPane>

注意這里使用的是styleClass,而不是style,另外如果需要指定多個class樣式的話,應該采用styleClass子元素,而不是styleClass屬性。

修改maven pom.xml

跟之前一樣,要讓css編譯到classpath下面,需要在maven pom.xml配置include。

<build> <resources> <resource> <directory>src/main/javadirectory> <includes> <include>**/*.fxmlinclude> <include>**/*.cssinclude> includes> resource> resources>build>

4. 使用開源框架的CSS

在實際開發中,可以使用現有的開源框架來美化JavaFX應用,沒有自己從零開始編寫自己的樣式。

這里推薦兩個JavaFX CSS開源框架:

  • bootstrapfx (MIT協議)

  • jbootx (沒有聲明開源協議)

  • bootstrapfx 目前最新的版本是0.2.4,使用它非常方便,只需要在maven引入依賴,然后在場景中添加對應的樣式表即可。

    首先引入maven依賴

    修改maven pom.xml 加入如下依賴:

    <dependency> <groupId>org.kordamp.bootstrapfxgroupId> <artifactId>bootstrapfx-coreartifactId> <version>0.2.4version>dependency>

    然后在場景(scene)中引入樣式表

    這里跟上面使用樣式表的方式有點不同,在scene引入樣式表后,所有scene里面的容器和控件都能使用。

    而單獨為fxml引入樣式表,僅能在當前fxml中使用。

    stage.setScene(scene);stage.getScene().getStylesheets().add("org/kordamp/bootstrapfx/bootstrapfx.css");stage.show();

    在fxml中使用bootstrapfx樣式

    <Button text="Go."> <styleClass> <String fx:value="btn"/> <String fx:value="btn-success"/> styleClass>Button>

    效果圖:

    另外:jbootx的使用方式也是一樣的,當然也可以不引入依賴,直接將樣式表放在resources目錄,然后直接添加到場景中。

    jbootx的使用示例這里就不展開了,下面展示一下jbootx的效果圖。

    效果圖1:

    效果圖2:

    項目源碼可以在公眾號上發送“javafx-css” 獲取。

    推薦閱讀:

    JavaFX桌面應用開發-HelloWorld

    樹莓派搭建視頻監控平臺

    使用Electron開發桌面應用

    Electron應用打包、自動升級

    總結

    以上是生活随笔為你收集整理的idea javafx添加maven_JavaFX让UI更美观CSS样式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。