【问题标题】:Naming of CSS property names for JavaFXJavaFX 的 CSS 属性名称的命名
【发布时间】:2016-08-12 01:12:10
【问题描述】:

JavaFX CSS Reference Guide我找到以下语句:

已经建立了命名约定,用于从 JavaFX 类名派生 CSS 样式类名,以及从 JavaFX 变量名派生 CSS 属性名。 [...] 将 JavaFX 变量名称映射到 CSS 属性名称的约定是相似的,只是添加了“-fx-”前缀。例如, blendMode 变量将具有相应的 CSS 属性名称“-fx-blend-mode”。

我不确定我是否理解正确。

我也让我的一些控件能够通过 CSS 进行配置。例如,在数字字段中,我可以设置可设置值的下限和上限、显示格式(整数、十进制、科学)、控件中显示的单位等。我应该命名它们吗,根据上面的段落,如

-fx-lower-boundary
-fx-upper-boundary
-fx-unit
-fx-mode

或者本段仅描述标准库中控件的行为,我应该选择与-fx- 不同的供应商前缀(例如我的公司名称)?

【问题讨论】:

  • documentation javafx.css 包中的类中,示例通常使用前缀-my-...,这(某种程度上)表明您应该使用自己的前缀。不过我不知道确切的答案。
  • @James_D 确实。虽然并非所有类都有文档代码,但CssMetaData 有,并且似乎建议我应该使用自己的前缀。这就是我想知道的全部 - 如果你想,你可以把它变成一个答案,这样我就可以接受它。

标签: java css javafx java-8


【解决方案1】:

虽然这不是一个确定的答案,但无论如何,javafx.css 包中某些类的文档(例如,StylablePropertyFactory)包含具有可样式属性的自定义控件的示例。在这些示例中,文档作者使用前缀

-my-...

对于 CSS 属性名称,这表明您应该使用自己的前缀,而不是

-fx-...

但是,我不知道有什么地方明确表示过这一点。

【讨论】:

  • 再次感谢,为了安全起见,这就是我所需要的。我只是做同样的事情并使用自己的前缀。
【解决方案2】:

CSS 与控件无关。级联样式表格式化用户界面的外观。该段描述了从 JavaFX 的变量名和类名派生了多少 JavaFX 特定的 CSS 属性名。

CSS 属性不能由用户定义。应该在 Java 代码中更改用户界面的功能或行为。

【讨论】:

  • documentation 用于 javafx.css 包中的类明确描述 how to create CSS-stylable properties for custom controls。包文档声明 “提供 API 以通过 CSS 使属性可样式化并支持伪类状态。”
  • 如果他们不能由用户定义,我就不会问了...明确支持这样做。
  • “级联样式表格式化用户界面的外观。”正确的。如何?通过修改各个控件的属性。所以“CSS 与控件无关”。也不正确。
猜你喜欢
  • 1970-01-01
  • 2015-08-09
  • 1970-01-01
  • 2014-01-31
  • 2016-09-11
  • 1970-01-01
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多