2013-06-26 129 views
2

我使用JavaFX遇到了以下問題。JavaFX工具提示定製

使用樣式表重定義工具提示樣式適用於Java Scene Builder。

在與包含在從場景構建器生成FXML文件相同樣式表的日食執行的工具提示風格重新定義與

<stylesheets> 
    <URL value="@../style/myCSS.css" /> 
</stylesheets> 

工作(其他財產的重新定義工作)。

在執行的工具提示風格重新定義在Eclipse中使用同一個樣式表使用代碼指令:

scene.getStylesheets().add(this.getClass().getResource("/style/myCSS.css").toExternalForm()); 

正常工作。

使用樣式表(myCSS.css):使用

.tooltip { 
    -fx-background-radius: 2 2 2 2; 
    -fx-background-color: linear-gradient(#FFFFFF, #DEDEDE); 
} 

.page-corner { 
    -fx-shape: " "; 
} 

AnchorPane { 
    -fx-background-color: firebrick; 
} 

FXML文件:

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="91.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml"> 
    <children> 
    <Button layoutX="72.0" layoutY="35.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" text="Button"> 
     <tooltip> 
     <Tooltip text="Tootip Text" /> 
     </tooltip> 
    </Button> 
    </children> 
    <stylesheets> 
    <URL value="@../style/myCSS.css" /> 
    </stylesheets> 
</AnchorPane> 

編輯:換句話說,我希望安倍宣佈我的樣式表在FXML文件。這樣做似乎適用於除了工具提示之外的任何屬性重定義(AnchorPane背景色)。

+0

你的問題是什麼?儘管您提供了所有代碼,但您的問題仍不清楚。 – JEY

回答

4

您試圖爲Tooltip設置的CSS屬性僅涉及擴展Region類的JavaFX類。 TooltipPopupControl類的孩子,因此具有更有限的CSS屬性庫。 Here's a link to a list of available CSS properties for Tooltip。該網站是JavaFX CSS屬性的最佳參考。

+0

感謝您的回答,我進入了定義工具提示(caspian.css)的默認屬性的css(在jdk中),我可以看到他們設置了這些屬性(甚至看到了一個示例[here](http:/ /blog.ngopal.com.np/2012/03/07/css-tooltip-skinning/))。無論如何,它並不能真正解釋爲什麼這在Java Scene Builder和getStylesheets()。add(...)指令中起作用。 – Mouz

+0

有趣。我現在也看到了。我很好奇爲什麼這些被排除在CSS資源鏈接之外。你看過[這](http://stackoverflow.com/questions/14696884/setting-stylesheets-declaratively-in-fxml/14697419#14697419)回答類似的問題?你有直接使用<?scenebuilder-stylesheet ...?>導入鏈接的樣式表嗎? – OttPrime

+0

似乎這個導入只對場景構建器有用。反正我試過了,但它仍然不起作用。 我在JIRA板上發佈了這個問題,我會看看它來自哪裏。 – Mouz