fxml设置背景_JavaFX – 如何获取Tab,Button等的背景颜色

在JavaFX中,要获取和设置节点的颜色,通常直接通过CSS定义。然而,对于颜色动画,可以创建一个任务来改变Tab的背景颜色,利用线性渐变实现颜色滑动效果。在动画结束后,恢复原始的CSS定义颜色。此示例演示了如何创建一个加载文件时改变Tab背景颜色的动画,并在加载完成后恢复原来颜色的方法。
摘要由CSDN通过智能技术生成

问题描述:我无法在JavaFX中获得对象的背景.我不是指形状,而是像Buttons,Tabs等常规节点.我不知道如何访问他们的背景颜色.

我想要的是?我正在开发IDE,我想在选项卡上运行Color动画,文件是用户想要打开的,并且已经存在于程序文件集合中.在做这个动画之前,我想阅读原始标签背景颜色,并在动画结束时将颜色返回到标签.此外,我想回到悬停和选定的属性,当我在动画中设置一些颜色并且它们永远不会回来时它会消失.我在CSS文件中设置的所有颜色,我不想更改它.

我的问题:如何以编程方式获取和设置节点颜色?或者如何使用保存原始属性进行颜色动画,并在动画结束时获取此属性?

一个简短的例子:

sample.fxml

styles.css的

.tab{

-fx-background-color: pink;}

.tab:hover{

-fx-background-color: red;}

.tab:selected{

-fx-background-color: yellow;}

解决方法:

据我所知,公共API中没有办法确定当前用作区域(包括控件)的背景颜色(除非你知道它是由内联样式设置的,在这种情况下)你可以解析getStyle()的结果或通过调用setBackground(…)来解析.但我认为没理由你会想要这个;如果删除任何内联样式或背景属性,颜色将恢复为css文件中定义的颜色.

这是一个简单的示例,其中背景颜色由线性渐变(通过内联样式)设置,随着任务的进行滑动:

import javafx.application.Application;

import javafx.beans.binding.Bindings;

import javafx.beans.b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值