我正在javaFx中开发一个应用程序,我正在使用TabPane来组织内容。我的问题是,当我将节点作为选项卡的内容,然后设置相同节点的背景时,背景颜色会变得模糊,正如您在图像中看到的那样,背景颜色是在css中定义的文件。
如果有人知道如何解决这个问题,我真的很感激帮助。
答案 0 :(得分: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;
}
}