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