JavaFX工具提示自定义

时间:2013-06-26 07:50:34

标签: css styles javafx-2

我使用JavaFX遇到了以下问题。

使用样式表重新定义工具提示样式适用于Java Scene Builder。

使用与场景构建器生成的FXML文件中包含的相同样式表重新定义eclipse中执行的工具提示样式

<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背景颜色)。

1 个答案:

答案 0 :(得分:4)

您尝试为Tooltip设置的CSS属性仅与扩展Region类的JavaFX类相关。 TooltipPopupControl类的子级,因此具有更有限的CSS属性库。 Here's a link to a list of available CSS properties for Tooltip。该站点是JavaFX CSS属性的最佳参考。