You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

JavaFX中如何为TextArea设置圆角?解决内层圆角异常问题

解决JavaFX TextArea圆角显示异常的问题

哈哈,这个问题我之前也踩过坑!JavaFX的TextArea其实是个嵌套结构的组件——你只给外层的.text-area容器设置了圆角,但它内部负责承载文本的内容区域还保持着默认的直角样式,所以才会出现显示异常的情况。

你需要针对TextArea的内层组件.text-area .content设置相同的圆角半径,具体操作如下:

完整的CSS修正代码

.text-area {
    -fx-background-color: #dbb1b1, #fff0f0;
    -fx-background-radius: 15;
    -fx-border-radius: 15;
    -fx-border-color: red;
}

/* 关键:给内层内容区域设置相同圆角 */
.text-area .content {
    -fx-background-radius: 15;
    /* 这里把背景色设成和外层第二层一致,避免颜色分层突兀 */
    -fx-background-color: #fff0f0;
}

为什么要这么做?

  • .text-area是整个组件的外层容器,你设置的边框、外层背景都是作用在这里
  • .text-area .content是实际显示文本的内层区域,默认背景是白色且没有圆角,会“突破”外层的圆角边界,所以必须给它同步设置相同的圆角半径,同时调整背景色和外层匹配,这样整体视觉就统一了

内容的提问来源于stack exchange,提问作者Vadym

火山引擎 最新活动