Java的第5版JavaFX主题JMetro刚刚发布。

这是此版本中的新功能:

  • 新的文本区域明暗风格;
  • 现有控件样式的一些更改;
  • 新CSS变量称为accent_color。 顾名思义,它允许您定义JMetro控件中使用的强调颜色。
  • 已经进行了很大的重构,简化并删除了重复CSS代码。

在这篇文章中,我将详细介绍这个新版本。

JMetro的样式更新

TextArea JMetro样式

在JMetro问题跟踪器中的错误报告之后,我添加了新的“文本区域”明暗样式。

此新样式与现有的“文本字段”和“密码字段”样式非常相似。 它已经在先前的4.8.5版本中发布,但是由于我只是在Twitter上宣布了这一点,因此我将在此处发布更多详细信息。

这是TextArea深色和浅色样式的外观:

文本区域– JavaFX主题JMetro灯

文本区域– JavaFX主题JMetro暗

更改现有样式

选择框新样式

这是Choice Box的新样式。 以前的样式看起来太像一个按钮,如果使用“选择框”执行动作,则该按钮会更合适。 并非如此,它用于选择一个项目,因此我对样式进行了调整,使它们看起来更像JMetro组合框。

选择盒– Javafx主题JMetro灯

选择盒– Javafx主题JMetro黑暗

微调器新样式

微调框深色样式已进行了调整:

微调框– Javafx主题JMetro黑暗

Tabs和TabPane新样式

“选项卡”和“选项卡窗格”灯光主题中使用的重点颜色已略微调整。

黑暗主题的样式已被完全修改:

选项卡和选项卡窗格– JavaFX主题JMetro暗

其他样式调整

其他更改包括对“树形视图”的浅色和深色主题进行了细微调整。

造型JMetro

新CSS变量

添加了新CSS变量,以便可以轻松地进一步设置JMetro的样式。

作为公共API的新CSS变量是:

  • accent_color :顾名思义,此变量用于更改强调色。 可以将此颜色设置为与您的产品品牌更匹配的颜色。

以下是为JMetro设置不同的强调色的同一控件的两个示例。 在两个图像中,鼠标都悬停在最底部的“切换开关”上。

带有蓝色(#0078d7)配色的拨动开关

带有绿色(#10893e)配色的拨动开关

以下CSS代码用于第一个屏幕截图:

.root { accent_color: #0078d7;
}

这是第二个屏幕CSS:

.root { accent_color: #10893e;
}

如您在上面的屏幕截图中看到的那样,当鼠标悬停时,切换开关的颜色是定义的强调色的浅色版本。 该颜色是从accent_color变量值自动得出的。

JMetro中使用的命名约定

以下是JMetro中使用的命名约定。

CSS属性

属性名称以“-”开头。 示例: -shrink-animate-on-press-show-value-on-interaction

CSS变量

变量以小写字母开头,以“ color”结尾 单词之间用“分隔 。 示例: accent_colortext_color

我更喜欢这种约定,而不是通常使用的约定,因为对于变量是什么和CSS属性有更清晰的区别。 第一次阅读CSS代码的人将立即将变量与属性区分开,而不必研究Java代码内部的逻辑。

理想情况下,我希望通过在变量前添加“-”来定义变量。 这是为Web CSS中的变量定义的约定。 但是,在JavaFX CSS中(至少当前)以“-”开头的变量是非法的。

变量以“ _color”结尾以防止冲突。 例如,使用名称text定义变量将与-fx-cursor属性值text冲突。 如果在某处为-fx-cursor定义了值text ,它将被您为text变量定义的变量值替换。 这会导致样式错误。

其他约定

到目前为止,我还没有定义任何常量,但是我正在考虑在不久的将来定义一些常量。 可能的惯例是使用与CSS变量相同的惯例,但不是将它们写成小写,而是将它们定义为所有大写。

CSS并不区分大小写,但是看到所有大写字母的文本都会立即向读者表明该文本代表一个常量。

对JMetro的大重构

对JMetro进行了很大的重构,以删除重复CSS代码。 它并不是那么大,但是考虑到我所知道的,据我所知,没有一个好的工具可以对JavaFX CSS代码执行重构,所以花费的时间比使用Java代码要多。 CSS中的简单重构(例如更改变量名称)可能既耗时又容易出错。

深色主题和浅色主题的所有通用代码都移至一个CSS文件:“ JMetroBase.css”。 “ JMetroDarkTheme.css”和“ JMetroLightTheme.css”定义了定义各自主题的颜色变量的值。 它们都包含“ JMetroBase.css”。

现在,除了Table View(我将在以后的版本中重构)之外,CSS代码不再重复。

包起来

版本5代表JMetro的另一个迭代。 所有现有样式均已重新设计,并添加了新的控件样式。

现在,您还可以通过重新定义CSS变量来调整主题的属性,如强调色。

最新版本带来了一个新控件:文本区域,对一些现有样式的调整,新CSS变量,可以轻松地根据需要调整JMetro,最后进行大量重构以删除重复的代码并简化JMetro。

与往常一样,这是JavaFX主题JMetro的文档页面。 我将在接下来的几天中尝试对其进行更新。

接下来是我平移的内容:

  • 通过Maven Central使JMetro可用(已经可以通过Bintray,JCenter并以可下载的jar形式提供);
  • 添加新的树表视图样式;
  • 添加新的手风琴样式;
  • 等等。

照顾自己。 与往常一样,我的Twitter帐户将是我发布有关JMetro和其他开源贡献的所有新闻的地方。

翻译自: https://www.javacodegeeks.com/2018/12/jmetro-version-5-released.html

JMetro版本5发布相关推荐

  1. JMetro版本11.5.10和8.5.10发布

    在这里,我们再次使用JMetro的另一个版本. 此版本中的新增功能: 工具栏内控件的新样式 新的可编辑组合框样式 对其他样式的一些调整 一些修复 继续阅读以获取详细信息. 可编辑的ComboBox新样 ...

  2. JMetro版本11.6和8.6发布

    再次返回另一个JMetro版本. 这是一个重要的里程碑,此版本中增加了样式,JavaFX库中的所有JavaFX控件现在都具有JMetro样式. 除此之外,还有用于ControlsFX StatusBa ...

  3. JMetro版本5.3已发布

    JMetro的另一个版本刚刚发布. 这次是5.3版. 在此版本中,为尚未使用的控件添加了一些新样式. 还调整了一些较旧的样式,并修复了一些错误. 我还将展示一些使用JMetro的大公司. 诸如Goog ...

  4. Spring Cloud Greenwich版本已发布!

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 就在1月23日,spring的官方博客发布了Spring Cloud Greenwich版本正式发 ...

  5. Spring Cloud微服务版本灰度发布新神器

    项目地址:https://github.com/Nepxion/Discovery 强烈建议stra.fork该项目,该项目可以作为学习改造Spring Cloud组件的案例项目. Nepxion D ...

  6. 【转】MongoDB 3.0 正式版本即将发布,强力推荐

    MongoDB 今天宣布3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都有 ...

  7. 应用宝认领应用签名_应用宝8.0版本即将发布“数字分发”引领应用分发新趋势...

    5月21日,2019腾讯全球数字生态大会在昆明召开,大会围绕消费互联网和产业互联网"两张网",充分释放腾讯在数字生态建设上的决心.在5月22日的应用生态专场上,腾讯应用宝宣布全新8 ...

  8. IETF:QUIC Version 1 (RFC 9000) 作为标准化版本现已发布

    正文字数:960  阅读时长:2分钟 QUIC已被广泛部署和使用,可提供更低的延迟.更高的安全性和更强大的数据交付.   文 / LiveVideoStack IETF近期发布了QUIC RFC 90 ...

  9. linux系统pcb软件下载,开源PCB设计软件KiCad致力于下一个大版本的发布

    KiCad仍然是PCB设计和其他功能的领先开源电子设计套件.KiCad在2018年取得了成功,System76甚至使用了该软件作为与Thelio台式计算机一起设计的子板PCB的一部分,但展望未来,开发 ...

最新文章

  1. 600页!分享珍藏很久的《推荐系统学习手册》(附链接)
  2. asp从后台调出的公式怎么参与运算_Excel中使用公式老是出错,这几招帮你轻松解决~...
  3. R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间、将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间
  4. JavaScript和ABAP的MD5计算源代码
  5. Cent OS yum 安装 Adobe flash player
  6. Win32ASM学习[19]:结构与联合
  7. JAVA结课_一点心情,写java结课考试之前
  8. 数据库水平切分的实现原理解析
  9. java stream Interface BiFunction<T,U,R>
  10. JDK安装、java环境配置(转)
  11. JSK-12 最后一个单词的长度【入门】
  12. 花式Finetune方法大汇总
  13. Ubuntu全盘备份与恢复,亲自总结,实测可靠
  14. 20190618每日一句
  15. 物联网-米思齐-Mixly-RFID智能门禁
  16. 负载均衡添加ssl证书
  17. 想成功就不要设定目标,你信吗?
  18. AE 渲染视频 屏幕闪绿的问题
  19. 盛世传承“富三代”品牌让你的家族基业长青
  20. 网络攻击与防御——对局域网的攻击

热门文章

  1. 21、mysql修改密码的方法总结
  2. Java AIO 编程
  3. JavaFX鼠标滚动放大缩小图片
  4. JavaFX图表(九)之堆积面积图
  5. JS实现星星评分功能实例代码(两种方法)
  6. Java中的ThreadPoolExecutor类
  7. mybatis环境搭建步骤(含配置文件代码)
  8. MySQL优化(二):索引的类型、匹配原则、创建原则
  9. JDBC入门案例及相关API概述
  10. java 8 新功能详解_Java 8和Java 14之间的新功能