2013-04-21 123 views
1

我正在开发一个javaFx中的应用程序,我正在使用TabPane来组织内容。我的问题是,当我把节点作为选项卡的内容,然后设置同一节点的背景时,背景颜色会变得模糊,正如您在图像中看到的,背景颜色是在css中定义的文件。更改JavaFX TabPane背景

如果有人知道如何解决这个问题,真的很感谢帮助。

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

回答

1

我觉得你这个问题的受害者:

JavaFX Image (PNG) transparency crispness being lost when rendering

它可能会被固定在一个即将到来的(即Java的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; 
    } 
}