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 の背景色) で機能するようです。

4

1 に答える 1

4

に設定しようとしている CSS プロパティは、 RegionTooltipクラスを拡張する JavaFX クラスにのみ関連しています。はクラスの子であるため、より制限された CSS プロパティ ライブラリがあります。で使用できる CSS プロパティのリストへのリンクを次に示します。このサイトは、JavaFX CSS プロパティの最良のリファレンスです。TooltipPopupControlTooltip

于 2013-06-26T13:48:01.143 に答える