在JavaScript世界中,通常设置元素类来表示它的外观,后来由CSS定义。
在JavaFX中是这样吗?
例如,如果我想在TableView
单元格中以红色显示负值,该怎么办?我不会code color directly,而是将一些类分配给一个单元格,例如“负面”,然后将CSS
将其变为红色。
我找到了PseudoClass
课程。这是为了这个吗?它被标记为“从8开始”,那么还有更成熟的API吗?
答案 0 :(得分:9)
如果您要为Node
添加可以打开和关闭的样式,PseudoClass
确实是正确的方法。它确实是在JavaFX 8.0中添加的,但这是当前的稳定版本,所以它是一个成熟的API。请注意,这会创建一个伪类(CSS中为:classname
),而不是"正常" class(CSS中的.classname
)。
如果你有一个你想要样式的节点(让我们称之为node
),你可以像这样使用PseudoClass:
node.pseudoClassStateChanged(PseudoClass.getPseudoClass("negative"), true);
做同样的事情,除了false
作为第二个参数,再次关闭它。