我想创建带有黑色边框的文本区域。
TextArea dataPane = new TextArea();
dataPane.setStyle("-fx-border-color: black; -fx-border-width: 1; -fx-border-radius: 16;");
但我得到了这个结果:
你能告诉我如何去除这个蓝色阴影吗?
蓝色边框不是阴影,而是 JavaFX 里海样式中控件的默认焦点颜色。您可以在caspian.css中看到它的定义,就像-fx-focus-color
默认值一样#0093ff
。
现在我们可以覆盖每个控件的调色板。所以你也是
dataPane.setStyle("-fx-border-color: black; -fx-border-width: 1; "
+ "-fx-border-radius: 16; -fx-focus-color: transparent");
如果你想完全去除所有的边框、阴影、高光:
.text-area {
-fx-background-insets: 0;
-fx-background-color: transparent, white, transparent, white;
}
.text-area .content {
-fx-background-color: transparent, white, transparent, white;
}
.text-area:focused .content {
-fx-background-color: transparent, white, transparent, white;
}
.text-area:focused {
-fx-highlight-fill: #7ecfff;
}
.text-area .content {
-fx-padding: 10px;
-fx-text-fill: gray;
-fx-highlight-fill: #7ecfff;
}