You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaFX中CSS的transition时间与transform函数失效问题求助

解决JavaFX CSS的两个问题

问题1:过渡时长未生效

JavaFX CSS不支持标准Web CSS的transition属性,必须使用JavaFX专属的过渡语法。需要将原代码中的transition替换为JavaFX的-fx-transition,同时确保仅使用JavaFX支持的带-fx-前缀的CSS属性。

问题2:transform: rotate()报错

JavaFX CSS没有transform属性,旋转效果需要使用专属的-fx-rotate属性,不能采用标准CSS的transform: rotate()函数写法。

修改后的完整CSS代码

.menu_bar {
    -fx-background-color: #FFC7C7;
}

.menu_bar Button {
    -fx-background-color: transparent;
    /* 将过渡规则写在默认样式中,确保移入移出都有动画 */
    -fx-transition: -fx-scale-x 8s, -fx-scale-y 8s, -fx-rotate 0.8s;
}

.menu_bar Button:hover {
    -fx-scale-x: 1.2;
    -fx-scale-y: 1.2;
    -fx-rotate: 30deg;
}

关键说明

  • 过渡规则需定义在按钮的默认样式内:如果仅写在hover状态中,只有鼠标移入时会触发动画,移出时会瞬间恢复初始状态;写在默认样式里则双向都有过渡效果。
  • 替换旋转属性:-fx-rotate是JavaFX CSS专门用于控制旋转的属性,直接传入角度值即可生效。
  • 仅使用JavaFX兼容属性:所有JavaFX CSS支持的样式属性都带有-fx-前缀,标准Web CSS属性多数无法在JavaFX中正常工作。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:32:10