2013-04-21 5 views
1

javaFx에서 응용 프로그램을 개발 중이며 TabPane을 사용하여 내용을 구성하고 있습니다. 내 문제는 내가 탭의 내용으로 노드를 놓은 다음 해당 노드의 배경을 설정하면 배경색이 흐릿 해지는 것을 볼 수 있습니다. 이미지에서 볼 수 있듯이 배경색은 CSS로 정의되었습니다. 파일.JavaFX TabPane 배경 변경

누구든지이 문제를 해결하는 방법을 알고 있다면 정말 도움이됩니다.

http://i.stack.imgur.com/h3gNH.png

답변

1

나는이 문제의 피해자라고 생각 :

JavaFX Image (PNG) transparency crispness being lost when rendering

그것은 가능성이 차기에서 해결 될 것 (즉, 자바 8) 출시.

지금까지는 연결된 질문의 대답에 문서화 된 해결 방법을 사용할 수 있습니다. 이렇게하려면 이미지를 CenteredRegion에 배치하고 탭에 배치 된 StackPane의 첫 번째 요소로 사용하십시오. 그런 다음 StackPane에 내용을 추가하여 나머지 탭 내용을 이미지 위에 레이어합니다. 조금 어색하고 특정한 경우에 대해보다 직접적인 해결책이있을 수 있습니다.

class CenteredRegion extends Region { 
    private Node content; 

    CenteredRegion(Node content) { 
    this.content = content; 
    getChildren().add(content); 
    } 

    @Override protected void layoutChildren() { 
    content.relocate(
     Math.round(getWidth()/2 - content.prefWidth(USE_PREF_SIZE)/2), 
     Math.round(getHeight()/2 - content.prefHeight(USE_PREF_SIZE)/2) 
    ); 
    } 

    public Node getContent() { 
    return content; 
    } 
} 
관련 문제