2012-07-18 2 views
2

방금 ​​javafx에서 CSS로 놀기 시작했습니다. 2. CSS 스타일 클래스를 창에서 제거하는 데 문제가 있습니다.javafx-2 getStyleClass(). removeAll

//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 노드에서 스타일 클래스를 설정하기 전에 kw 객체가 null 일 때 CSS를 적용하지 않아야하므로 resetGUI() 메서드를 호출하여 CSS를 재설정합니다.

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

StyleClasses 제거가 작동하지 않는 것으로 보입니다. kW 객체가 null 인 경우 pRa 노드가 'default'로 보이길 원합니다. CSS 파일에서 직접 '기본'클래스를 만들어야합니까? 그건 내가 생각하는 경우가 아니야?

pRA.getStyleClass().add("default"); 

를 사용하여

기본 스타일 자신을 할당하고, CSS에 추가하는 것을 잊지 마세요 : pmoule에 의해 주석으로

.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;} 
+0

도움이 될만한가요? [이 Q & A] (http://stackoverflow.com/q/10887525/682495) –

+1

당신 말이 맞아요. 앞서 언급 한 버그가 수정 될 때까지 스스로 '기본'클래스를 할당하는 것이 필요한 해결 방법입니다. – pmoule

답변

0

:

는 CSS입니다

.default {...}