是否可以在JavaFX 8中为单个节点禁用CSS样式?

时间:2013-11-15 18:25:10

标签: css performance javafx javafx-8

出于性能原因,我想为某些节点禁用CSS样式。我有几千个它们,我真的想用简单的背景颜色填充它们,所以不需要CSS。从它们中删除所有样式类是否足够?我试过这个,在分析后我注意到processCSS()仍然占用了大部分的CPU时间。

德克

2 个答案:

答案 0 :(得分:4)

没有办法从javafx节点(我知道)中固有地删除所有css,因为所有javafx项都附带一个默认的.css文件,用户只需覆盖这些文件就可以在各种css参数上添加它们自己的旋转。 (默认名称为caspian.css(适用于Javafx 2. *)和Modena.css(适用于Javafx 8.0 +))。虽然您可以在创建每个节点时以编程方式更改每个节点的背景颜色,因此您不必为每个节点加载一个完整的新.css文件,但仍会为每个创建的节点加载一些默认的.css。

答案 1 :(得分:1)

不,删除所有样式类不足以禁用CSS。在这种情况下,将处理默认的.css文件。虽然目前与CSS渲染并不真正相关,但processCss需要时间,因为所述方法可能与节点的最大子节点数一样复杂,如您所说,可能多达几千个。如果您可以覆盖caspian.css以使其更简单,那么我建议。