JMetro版本5发布

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

这是此版本中的新功能:

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

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

JMetro的样式更新

TextArea JMetro样式

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

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

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

JMetro版本5

文本区域– JavaFX主题JMetro灯

JMetro版本5

文本区域– JavaFX主题JMetro暗

更改现有样式

选择框新样式

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

JMetro版本5

选择盒– Javafx主题JMetro灯

JMetro版本5

选择盒– Javafx主题JMetro黑暗

微调器新样式

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

JMetro版本5

微调框– Javafx主题JMetro黑暗

Tabs和TabPane新样式

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

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

JMetro版本5

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

其他样式调整

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

造型JMetro

新CSS变量

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

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

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

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

JMetro版本5

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

JMetro版本5

带有绿色(#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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344292.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 开发 矩形截屏插件,Android 上如何实现矩形区域截屏

对屏幕进行截屏并裁剪有两种方式:早截图和晚截图。早截图,就是先截取全屏,再让用户对截取到的图片进行修改;与之相对的,晚截图,就是先让用户在屏幕上划好区域,再进行截图和裁剪。其实两者并没有什么太大的区…

Java可选参数

在Java类中设计方法时,某些参数对于其执行而言可能是可选的。 无论是在DTO,胖模型域对象还是简单的无状态服务类中,可选方法参数都是常见的。 从本文中, 您将学习如何在Java中处理可选参数 。 我们将专注于常规方法,带…

计算机发送到桌面快捷方式,windows7添加到桌面快捷方式无故消失!

您好,Windows 7设计者在Windows 7中所添加的设计。在默认情况下,只要System Maintenance troubleshooter(系统故障维护,以下简称SMT)检测到桌面的快捷方式已经无效了,将会自动将其删除。每周,SMT(系统故障维护)都会对操…

Java:汇总堆外数据

探索如何以最小的垃圾收集影响和最大的内存利用率创建堆​​外聚合。 使用Java Map,List和Object创建大型聚合通常会产生大量堆内存开销。 这也意味着,一旦聚合超出范围,垃圾收集器将必须清理这些对象。 阅读这篇简短的文章,了解…

java中属性外部化_用Java可外部化

java中属性外部化在理解Externalizable接口之前,您需要了解序列化。您可以在java中的序列化上阅读有关序列化的更多信息。 Java提供了一种称为序列化的机制,以按字节的有序或字节序列的形式持久化Java对象,其中包括对象的数据以及有关对象的…

在您的Maven-Fu包中增加了一些东西

Apache Maven很简单,但是功能非常强大。 使用一些技巧,您可以大大简化和优化您的开发经验。 处理多个非托管模块 假设您有一个主项目A提供了两个实用程序模块foo和bar ,另一个项目B A了foo和bar 。 在使用B ,您意识到需要偶尔对…

ci 邮件 html模板,CI Email类发邮件

发邮件代码详情private function _send_mail($data) {//附件一,名称参数编码转换if(!empty($data[resume_name])){$file_name iconv(UTF-8,GB2312,$data[file_name]);}//附件二,名称参数编码转换if(!empty($data[resume_name])){$resume_name iconv(UT…

Java安全动画

总览 自从JDK 1.2中引入安全沙箱模型以及JDK提供的安全API的发展以来,Java安全就一直是一个复杂的话题。 并发实用程序也观察到类似的问题,并且开发了一种名为Java Concurrent Animated的工具,目的是通过有趣而有趣的方式降低进入这些实用程序…

在计算机网络系统的远程通信中,在计算机网络系统的远程通信中,通常采用的传输技术是...

摘要:算机体系体系模板模板最适宜采用的合钢是组。系统信中民主命叙主义关于革命以下义革误的和社会主述错是(。程通常采传输不属民主主义济纲的三大经以下于新领的是(。...算机体系体系模板模板最适宜采用的合钢是组。网络不属特殊国无级自的是产阶以下于中有的优点…

ajax div 赋值重新渲染_优化向:单页应用多路由预渲染指南

前言Ajax 技术的出现,让我们的 Web 应用能够在不刷新的状态下显示不同页面的内容,这就是单页应用。在一个单页应用中,往往只有一个 html 文件,然后根据访问的 url 来匹配对应的路由脚本,动态地渲染页面内容。单页应用在…

fpga运算服务器_一张图了解CPU、GPU、ASIC、FPGA性能、功耗效率、灵活性

​CPU:中央处理器(Central Processing Unit,CPU):通用芯片,主要生产厂家如intel、AMD等,用于PC、服务器等领域。CPU作为通用芯片,可以用来做很多事情,灵活性最高&#xf…

aspen变压吸附塔_空压机科普:吸附式干燥机的结构和原理

精彩内容本文以主流的“变压吸附式”干燥机为例进行讲解。“吸附”原理一致,“脱附再生”流程有所区别。从而大致形成以下几种常见类型:●无热吸附式——使用一部分经过干燥后的压缩空气,经降压后吹扫吸附剂,实现吸附剂“再生”&a…

小学计算机管理,小学计算机室管理制度

小学计算机室管理制度 (2页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.90 积分芹菜小学计算机室制度1、计算机室由上电脑课老师负责管理。2、计算机室是进行电脑技术学习和操作的场所&#xff…

异形3×3魔方还原教程_【初级篇】(四)最简单的三阶魔方入门教程——中层还原...

本系列教程适合刚刚接触魔方,又比较有好奇心,是为渴望学会还原魔方,又不想死记公式的人准备的。全部教程只使用三种公式,还原过程以理解为主,公式为辅。第四部分 中层棱块还原4.1 预览中层棱块还原后的效果中层还原以后…

吞吐量-Corda的故事

我最近开展了一个针对特定用例的Corda性能项目。 这个项目的结果使我们在170多个节点的网络上一天之内处理了1.15亿个请求。 此外,Corda每秒能够处理6300个请求,确认满足了网络的最高要求。 迄今为止,这是迄今为止已部署的最大的Corda网络&am…

httpurlconnect设置中文参数_数控三菱CNC机床参数的设置及报警解除!

数控三菱CNC的硬件连接检查与设置执行完毕向系统送电后,显示器上的READY绿灯仍然不亮。而且在〔诊断〕――〔报警〕 画面上显示很多报警内容,哪些是开机时必须设置的呢?又如何解除故障报警呢?1.开机参数1.1 基本参数的设置原装系统…

计算机如何更新苹果系统,苹果系统怎么更新_苹果电脑mac如何更新升级系统-win7之家...

苹果电脑跟windows系统一样,也是会在发布之后不断的推送新版本让用户们进行升级,不仅可以修复bug还可以增加新功能,不过很多用户可能都会有一个疑问,就是苹果系统怎么更新呢?方法并不难,本文给大家讲述一下…

手术步骤_近视飞秒激光手术和传统Lasik手术比较

传统LasikLASIK手术操作时分为两个步骤:第一个步骤医生需要制作一个角膜瓣;第二个步骤是掀开角膜瓣,以准分子激光雕琢角膜,进行视力矫正,雕琢完毕后将角膜瓣复位即手术完成。传统的角膜制瓣是用机械式的设备与一个微型…

jenkins部署java_在Window上使用Jenkins自动部署和上传快照Java工件

jenkins部署java这篇文章将展示如何使用Jenkins Continuous Integration自动执行Java Web应用程序(使用MYSQL DB和基于Hibernate ORM在基于REST的Jersey2 Spring环境中开发的学生申请应用程序)的部署过程-生成项目,运行单元测试,上…

苹果电脑怎么更换计算机模式,图文详解苹果电脑如何切换成windows系统

苹果电脑默认安装的是Mac系统,有的人很喜欢,有一部分人却怎么都用不习惯,觉得windows系统用起来比较顺手。为了能提高办公效率,给苹果电脑安装双系统,那么有什么办法能将苹果电脑切换成windows系统?方法当然…