簡體   English   中英

是否可以在 FXML 中使用算術表達式?

[英]Is it possible to use arithmetic expression in FXML?

我希望有一個功能可以讓我在 FXML 中處理數字。 例如,試圖定義一個元素的高度等於一個常數,而第二個元素的高度等於同一個常數乘以 2(即constant * 2 )。 是否可以在 FXML 中完成它,或者我是否需要在控制器內部完成這部分視圖構建(我想避免)?

對的,這是可能的:

<?import java.lang.Double?>

...

<fx:define>
    <Double fx:id="xHeight" fx:value="100" />
</fx:define>

...

<Label fx:id="lblElementOne" prefHeight="$xHeight" />
<Label fx:id="lblElementTwo" prefHeight="${xHeight * 2}" />

使用表達式綁定

您可以使用表達式綁定。

<TextField fx:id="textField" prefWidth="40"/>
<Label prefWidth="${textField.prefWidth * 2}"/>

FXML 中的常量定義

您可以訪問在 FXMLFXML 定義中定義常量

在回答以下問題時,有一個使用這種方法的示例:

請參閱該答案中標題為“通過表達式綁定在 FXML 中使用 em 單位”的部分。

CSS 中的常量定義

順便說一句,是否可以在 CSS 中定義常量? 我認為 OP 意味着 FXML 中的常量,但提到了 CSS。

我也假設了 FXML 中的一個常量,直到我重新閱讀了“在 CSS 中定義即定義”的問題。 而且,是的,您無法真正在 JavaFX CSS 中定義常量,最接近的可能是look-up-color ,但它非常具體且略有不同。 如果您通過預處理器(如LESSSASS )傳遞 CSS,這些系統允許定義常量(LESS 會混淆地將其稱為變量:-)。 但是,您無法通過 FXML 直接訪問此類信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM