【发布时间】:2015-08-21 20:14:50
【问题描述】:
为了使标签角变圆,我使用以下代码:
.tab {
-fx-border-radius: 10 10 0 0;
-fx-background-radius: 10 10 0 0;
}
.tab:selected .focus-indicator {
-fx-border-radius: 10 10 0 0, 10 10 0 0;
}
但是,我得到了相当奇怪的行为。创建新选项卡时,它有一些额外的角,稍后当我更改焦点或创建新选项卡时会消失。 例如 - 我创建了第一个选项卡。
现在我创建第二个标签。第一个选项卡已经正常,但第二个选项卡有这个奇怪的角落。
我检查了 centos 和 win7 - 行为是相同的。如何解决?
编辑 1
这是我所有的css文件。使用圆角使选项卡标题变大的最终目标。
.tab:selected .focus-indicator {
-fx-border-radius: 10 10 0 0, 10 10 0 0;
-fx-border-insets: -7 -7 -9 -8, -5 -5 -9 -6;
}
.tab-pane > .tab-header-area > .headers-region > .tab:selected{
-fx-border-insets: 10 10 10 10, 10 10 10 10;
}
.tab-pane > .tab-header-area > .headers-region > .tab > .tab-container >
.tab-label {
-fx-alignment: CENTER;
-fx-text-fill: -fx-text-base-color;
-fx-padding:0 10 0 0;
}
.tab-header-area .tab{
-fx-padding:4 10 5 10;
-fx-border-radius: 10 10 0 0;
-fx-background-radius: 10 10 0 0;
}
编辑 2
我在两台不同的 PC 上检查过它:1(Ubuntu),2(Centoc 71 和 VM Win7)。我尝试用 oracle jdk 编译 - 结果是一样的。
【问题讨论】:
-
这是因为它的 SELECTED - 我猜你可以围绕选择模型来改变它的风格
-
@Elltz 我是 javafx 初学者。能说下怎么玩吗:)
-
对所有属性应用相同的样式,例如为选项卡选择,鼠标方式等。
-
-fx-border-insets: -4 -4 -6 -5, -2 -2 -5 -3;是带有焦点指示器的选定选项卡上的默认值。所以你必须覆盖它。 -
@NwDx 我已经覆盖了它们,因为我需要让它们变得更糟(来自我们之前的讨论)。但这没有帮助。