2013-04-21 121 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; 
    } 
}