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;}
도움이 될만한가요? [이 Q & A] (http://stackoverflow.com/q/10887525/682495) –
당신 말이 맞아요. 앞서 언급 한 버그가 수정 될 때까지 스스로 '기본'클래스를 할당하는 것이 필요한 해결 방법입니다. – pmoule