gpt4 book ai didi

java - 如何为 JavaFX TextField 提供 Swing 风格的低斜 Angular 边框?

转载 作者:太空宇宙 更新时间:2023-11-03 20:54:56 25 4
gpt4 key购买 nike

我喜欢带有由 BorderFactory.createLoweredBevelBorder() 创建的边框的 JTextField 的 3D 效果。现在我正在使用 JavaFX,边框的 L&F 由 CSS 控制。默认外观只是一个简单的线条描边边框。我想出了如何编辑 CSS 文件来加厚边框并更改其颜色:

.text-field { -fx-border-color: color; -fx-border-width: #; }

但是,如果您查看 Swing 生成的降低的斜 Angular 效果,它是通过在 4 个边中的 2 个边上使用不同的颜色并使边缘屏障呈 45 度 Angular 来创建的。那么如何使用 CSS 实现这一点呢?

最佳答案

JavaFX CSS Reference Guide说:

While the JavaFX CSS parser will parse valid CSS syntax, it is not a fully compliant CSS parser. One should not expect the parser to handle syntax not specified in this document.

borderborder-top 等属于此不受支持的类别。
要降低斜 Angular 边框,请尝试

.text-field {
-fx-border-insets: 0;
-fx-border-width: 2px;
-fx-border-color: black lightgray lightgray black;
}

或者尝试使用内部阴影的 JavaFX 风格方式

.text-field {
-fx-effect: innershadow(three-pass-box, gray, 12 , 0.5, 1, 1);
}

然而,您想要的真实样式可以通过 -fx-border-style 属性 IMO 实现。在上面提到的指南中引用它。

关于java - 如何为 JavaFX TextField 提供 Swing 风格的低斜 Angular 边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11635987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com