2

javafx 2 で CSS をいじり始めたばかりです。Pane から CSS スタイル クラスを削除する際に問題が発生します。

Pane は、カスタム オブジェクトのブール値に基づいて背景色と境界線を取得します。

//kw is a subobject of objects in a listview, everytime the selection is changed 
//the CSS on the pane gets refreshed
resetGUI();
...
if(kw != null){
    if (kw.getAfgewerkt()) {
        pRA.getStyleClass().add("success"); //true
    } else {
        pRA.getStyleClass().add("error"); //false
    }
}
...

上記の作品。

ただし、pRA ノードでスタイル クラスを設定する前に、resetGUI() メソッドを呼び出して CSS をリセットしました。これは、kw オブジェクトが null の場合、CSS を適用する必要がないためです。

public void resetGUI(){
    ...
    pRA.getStyleClass().removeAll("error", "success");
    ...
}

StyleClasses の削除が機能しないようです。kw オブジェクトが null の場合、pRa ノードが「デフォルト」として表示されるようにします。CSS ファイルで「デフォルト」クラスを自分で作成する必要がありますか? それは私が仮定するケースではありませんか?

これはcssです:

.error {-fx-background-color: #FBE3E4;-fx-text-fill:#8a1f11;-fx-border-style:solid;-fx-border-color:#FBC2C4;}
.success {-fx-background-color:#E6EFC2;-fx-text-fill:#264409;-fx-border-style:solid;-fx-border-color:#C6D880;}
4

1 に答える 1