将CSS转换为JavaFx CSS

 chasewindboy 发布于 2023-02-12 18:20

我有一个Web应用程序,为此我们有CSS.我们正在将UI移植到JavaFX,并打算将其样式与Web应用程序上的样式完全相同.我尝试加载用于Web项目的CSS,但样式没有得到反映.经过一番搜索,我发现Oracle已经创建了一个名为JavaFX CSS的东西,它类似于CSS但不完全是CSS.

我想知道的是:有一些简单的方法将我的(Web)CSS转换为JavaFX CSS吗?

1 个回答
  • 一些简单的方法将我的(Web)CSS转换为JavaFx CSS

    此任务没有自动转换器.我建议你拿一点你的CSS并尝试手动转换它.

    您可以使用分析工具(如SceneBuilder中的CSS Analyzer)来帮助完成此任务.

    执行转换时请参阅JavaFX CSS Reference.

    如果您在转换JavaFX和HTML css文件之间的元素或属性时遇到特定问题,请发布有关这些转换困难的新问题.

    我们正在将UI移植到JavaFx,并打算将其样式设置为与Web应用程序上的样式完全相同.

    如果你有很多CSS,那将会有点棘手.JavaFX CSS与基于Web的HTML css不同.JavaFX CSS文件与HTML CSS共享一种通用的语法格式,但JavaFX中的所有 css属性与HTML CSS 中的不同.

    HTML CSS可以指定由HTML呈现引擎呈现的布局属性.JavaFX布局和呈现引擎与HTML的工作方式不同,因此基于HTML CSS的布局说明符在任何JavaFX CSS,JavaFX代码或FXML定义的布局管理器中都不具有直接等价物.

    不过,JavaFX CSS非常灵活.很多东西都类似于HTML css(比如区域背景和颜色说明符),因此可以在合理的时间内以可接受的准确度将HTML CSS的要点转换为JavaFX CSS,前提是您熟悉两种CSS形式.只是不要指望您的JavaFX应用程序和Web应用程序的外观或行为完全相同.

    Oracle已经创建了一些调用JavaFX CSS的东西,它类似于CSS但不完全是CSS.

    JavaFX CSS在语法和文件格式方面实际上只是CSS.JavaFX中使用的CSS遵循W3C CSS的所有基本语法和数据类型.

    W3C CSS就是你在问题中所说的纯CSS或(web)CSS.W3C CSS有许多扩展和建议的扩展,其中许多扩展甚至在主流浏览器中都得不到很好的支持.

    考虑将WebView用于应用程序的某些部分

    您可能希望将某些应用程序保留在HTML中,并将应用程序的其他部分移植到JavaFX控件中,而不是将整个应用程序从HTML移植到JavaFX.

    JavaFX包含一个WebView组件,可以轻松嵌入JavaFX应用程序中.WebView可以准确地呈现HTML,它可以解析和理解W3C CSS.您可以使用一些现有的CSS和HTML来设置和呈现JavaFX应用程序的一部分.

    由于JavaFX CSS和W3C CSS共享一种通用文件格式,您甚至可以将JavaFX CSS样式和W3C CSS样式放在同一个CSS文件中,而JavaFX和WebView运行时将足够聪明,可以在呈现其特定组件时应用适当的样式.

    也可以看看

    JavaFX CSS参考指南

    学习CSS(JavaFx风格)

    2023-02-12 18:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有