web-dev-qa-db-ja.com

JavaFXでタブラベルの色またはテクスチャをプログラムで設定する方法

いくつかのTabPaneを含むTabがあります。 Tabでの操作の結果が失敗した場合、TabLabelFill赤に設定するか、テクスチャをハッシュ化します(色覚異常を持つ人)。 Colorを後でデフォルトにリセットしたい。

ここでいくつかの質問を読むと、スタイルシートを使用して静的に設定できます。

_#MyTabPane .tab *.tab-label {
    -fx-text-fill: white;
}
_

どのようにしてTablabelにアクセスし、色/テクスチャを動的に設定しますか?

tab.setStyle("??");

ELLTZによる追加

上記のインラインスタイルを使用して、Paintとスタイルクラス_tab-label_およびLabelButton)の両方のStackPaneを変更する方法また_tab-close-button_

必要なコード例

13
likejudo

グラフィックスを設定してスタイリングすることは私にとってはトリックでした:

Tab tabB = new Tab();
tabB.setText("");
tabPane.getTabs().add(tabB);
tabB.setStyle("-fx-border-color:red; -fx-background-color: blue;");
tabB.setGraphic(new Label("Tab B"));
tabB.getGraphic().setStyle("-fx-text-fill: #c4d8de;");
20
zhujik