【发布时间】:2016-07-02 07:38:16
【问题描述】:
我需要以编程方式设置 javafx 选项卡的关闭按钮的样式。 我的每个选项卡都从 colorset 枚举中获取单独的颜色。
myTab.setStyle("-fx-background-color:" + set.getBackgroundColor() + ";");
有些颜色很深,有些颜色很浅,所以我需要为标签关闭按钮设置不同的补色,比如
myTab.getCloseButton().setStyle("-fx-background-color:" + set.getForegroundColor() + ";");
但我找不到检索选项卡关闭按钮句柄的方法。
我的 CSS 文件的一部分
.tab {
-fx-background-insets: 0, 1, 2;
-fx-background-radius: 0 0 0 0, 0 0 0 0, 0 0 0 0; /* eckig */
}
.tab .tab-close-button {
-fx-shape: "M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z";
-fx-scale-shape: false;
}
我的标签使用不同的 ID 让它工作
myTab.setId("darktab");
myTab.setId("lighttab");
结合我的 css 文件中的单独条目
#darktab .tab-close-button { -fx-background-color: white; }
#lighttab .tab-close-button { -fx-background-color: black; }
但这是一个糟糕的解决方案,因为我需要在我的枚举中为所有定义的颜色提供许多互补色。
我错过了什么吗?有谁知道如何处理标签关闭按钮?
我在为下拉按钮和 TabPanes 设置样式时遇到同样的问题
【问题讨论】: