2017-04-16 71 views
0

大家好,

我目前正在使用JavaFX幻燈片益智遊戲:JavaFX的條件CSS樣式的按鈕

enter image description here

爲了玩遊戲,你點擊按鈕旁邊的空盒切換兩者,並且遊戲的重點是以儘可能少的移動數量從1到15的數字順序獲得所有按鈕。 我完成了大部分遊戲編碼(仍然有一些我想添加的功能),但現在我想使用CSS來設置按鈕的樣式。

但事情是這樣的:每個按鈕都有一個布爾值,確定它是否可以移動(如果它位於emptyButton旁邊,則爲true,否則爲false)。如何設置按鈕的樣式,使其相應的布爾值爲true,背景顏色爲綠色,否則爲紅色?我不太擅長CSS,所以任何幫助將不勝感激。謝謝!

+0

忘了提,這些布爾值改變每一個按鈕被點擊的時間。 (我基本上希望所有按鈕直接在空按鈕旁邊或上方/下方具有綠色背景)。這可能嗎? –

+0

執行此操作的一種方法是使用CSS僞類。請參閱https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#pseudoClassStateChanged-javafx.css.PseudoClass-boolean-。 – VGR

+0

我會嘗試一下,謝謝你的推薦! –

回答

2

最簡單的方法是通過創建僞類,如所提到的,這裏是一個例子:

private PseudoClass empty = PseudoClass.getPseudoClass("empty"); 
在按鈕改變附加

pseudoClassStateChanged(empty,isNextToEmpty(sampleButton)); 

鑑於方法isNextToEmpty()返回布爾您添加到按鈕的值。

在CSS文件:

.button:empty { 
-fx-background-color: green;} 
+0

這工作完美!非常感謝 –