Java,JavaFX的流畅设计风格进度栏

按照承诺,刚刚发布的Java JavaFX主题JMetro 4.6版为进度栏带来了新样式。

进度栏有两种可能的状态:确定和不确定,新的JMetro版本具有这两种状态。 在本文中,我还将详细介绍一些我在JMetro中遵守的API设计原则。

JMetro API设计原则

关于JMetro的API,我有一些原则。 其中之一是它应要求最少的设置并具有最少的必需API。 这意味着,例如,仅需很少的方法调用,就可以将JMetro应用为主题。 现在,只需要这两行代码(可以很容易地折叠为一行):

JMetro jMetro = new JMetro(Style.LIGHT);
jMetro.applyTheme(root);

这也意味着我尝试不引入新控件,除非应该绝对引入它们。 例如,使用新的文本字段和密码字段样式,我可以引入新的控件,因为这两个控件都添加了新功能,例如清除和显示密码按钮。 相反,我选择通过引入可以在原始控件中使用的新外观类来添加这些新功能。

这种方法有两个优点:

  • 开发人员可以轻松更改主题。 从JMetro到另一个主题,反之亦然。 由于JMetro仅在严格必要时才引入新控件,因此与JMetro没有强耦合。 例如,您可能决定在移动设备上或在不同的OS上使用不同的主题,或者只是您决定不再使用JMetro。 使用JMetro非常简单。
  • 学习曲线浅。 开始使用JMetro应该真的很容易。 至少,您需要知道的是配置和应用JMetro的两行代码。 大多数控件已经在JavaFX SDK中。 在后台将新外观应用于这些控件。

您还可以通过CSS属性配置大多数控件的新外观,从而使您可以继续使用与以前相同的Java代码(不使用JMetro时)。 将来,我可能会添加新的API以通过代码(例如Java代码)配置这些功能,但我仍计划保留所需的最少API。

旧的JMetro进度栏

像往常一样,我首先要展示进度条在以前版本中的外观:

进度条

ProgressBar旧的JMetro轻主题

进度条

ProgressBar旧的JMetro黑暗主题

这是用于确定状态的简单平面设计样式。 在旧版本中,不确定状态没有样式。

新的JMetro进度栏

在继续显示新的进度栏外观之前,我想解释为什么存在两种可能的状态。 当您可以确定地确定特定任务已取得多少进展时,您将使用确定状态。 在这种状态下,您将显示已完成了多少进度。 进度量取决于进度栏的“填充”程度。 当任务即将完成时,进度栏将“被填充”或几乎“被填充”。

相反,当您无法确定已完成的进度或由于某种原因而不想计算进度时,可以将状态设置为不确定。 这不会显示已取得多少进展。 但这至少会表明正在进行一些计算。

受Fluent Design的启发,您可以在下面看到进度栏的新样式。 现在,两个新的不同外观代表了这两个状态。 自从我在Twitter上的最后一篇文章以来,我对不确定的动画进行了一些调整。

进度条

ProgressBar新的JMetro主题

上面的动画可能看起来不像实时版本那样流畅 。 我没有时间发布视频而不是GIF。 那可能会更好地证明实际结果。

深色和浅色版本之间没有区别。

进度栏详细信息

我试图使新进度条CSS样式与原始JavaFX Modena CSS尽可能相似。 您仍然可以找到“ track ”和“ bar ” CSS样式类,您可以对其进行样式设置,就像在Modena样式表中一样。 对于不确定状态,这是不可能的,因为外观完全不同。

对于不确定状态,每个“点”都是一个具有样式类的Regiondotdot_<number> 。 <Number>是点的位置,从1开始。您可以根据需要设置每个“点”的样式,因为每个点都是一个Region

例如,如果您希望点逐渐变暗,则可以添加以下CSS:

.progress-bar:indeterminate .dot_1 {-fx-background-color: ACCENT_COLOR;
}.progress-bar:indeterminate .dot_2 {-fx-background-color: derive(ACCENT_COLOR, -15%);
}.progress-bar:indeterminate .dot_3 {-fx-background-color: derive(ACCENT_COLOR, -30%);
}.progress-bar:indeterminate .dot_4 {-fx-background-color: derive(ACCENT_COLOR, -45%);
}.progress-bar:indeterminate .dot_5 {-fx-background-color: derive(ACCENT_COLOR, -60%);
}

ACCENT_COLOR是JMetro中定义的JavaFX CSS变量,用于指定JMetro主题的强调色。 derive(..)是一个JavaFX CSS帮助器函数,根据传入的百分比是负数还是正数,它可以使给定的颜色变暗或变亮。

此示例将给出以下结果:

进度条

结论

在JMetro 4.6版中,为进度栏添加了新样式。 在这篇文章中,我还概述了JMetro背后的一些设计原则。

像以前一样,您可以在JavaFX主题JMetro页面上查看更新的文档(将很快用此新版本更新)。

JMetro即将达到版本5.0。 我计划在第5版之前添加的所有最困难的控件都已完成。 在接下来的几个发行版中,我计划清理,重新调整某些样式,并增加指定控件的强调颜色的可能性。 在此之前,我可能还可以添加新的控件样式。 Ahh ..并在Maven Central中提供JMetro。

翻译自: https://www.javacodegeeks.com/2018/10/fluent-design-style-progress-bar-javafx.html

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

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

相关文章

安卓最新系统_成纺移动校园(移动办公系统)V3.2.1 安卓最新版

成纺移动校园(移动办公系统)是额一个非常实用的办公工具。您可以使用该软件及时浏览最新的校园信息&#xff0c;同时涵盖许多功能&#xff0c;例如时间表查询&#xff0c;会议安排&#xff0c;校园地图&#xff0c;校车等。有需要的用户欢迎来绿色先锋网下载。 成纺移动校园简介…

pyqt 获取 UI 中组件_你想知道的React组件设计模式这里都有(上)

本文梳理了容器与展示组件、高阶组件、render props这三类React组件设计模式往期回顾&#xff1a;HBaseCon Asia 2019 Track 3 概要回顾随着 React 的发展&#xff0c;各种组件设计模式层出不穷。React 官方文档也有不少相关文章&#xff0c;但是组织稍显凌乱&#xff0c;本文就…

typora导出word指定样式_(二)最简洁的Markdowd编辑器:Typora

&#xff08;提醒&#xff1a;前面都是介绍和语法&#xff0c;想下载了就能用的直接看最后总结&#xff09;大家好&#xff0c;半瓶醋同学又来误人子弟了。现在办公文档或者邮件的处理&#xff0c;一般都是用微软的office word或者邮件自带的编辑器。但是用word或者邮件自带编辑…

使用数据库中的Java流制作数据透视表

来自数据库行和表的原始数据不能为人类读者提供太多了解。 相反&#xff0c;如果我们对数据执行某种聚合&#xff0c;则人类更有可能看到数据模式 在展示给我们之前。 数据透视表是聚合的一种特定形式&#xff0c;我们可以在其中应用排序&#xff0c;求平均值或求和之类的操作…

asynchttpclient 超时_dnf这才是混子的毕业套装,却发现超时空漩涡不买账!

dnf这才是混子的毕业套装&#xff0c;却发现超时空漩涡不买账&#xff01;按道理来说&#xff0c;光兵和帕拉丁穿这套装备去混团是最好的&#xff0c;结果现在超时空漩涡不要&#xff01;虽然说兵法套是95最好的魂之涛&#xff0c;但是这个混子套属性真心弱爆&#xff0c;不如正…

win7亮度怎么调_揭秘极米NEW Z8X投影仪怎么样?千万不要上当?!!!!【揭秘反馈

反馈测评极米NEW Z8X投影仪怎么样?求真实点评注意事项极米NEW Z8X投影仪怎么样?靠谱真实回答 外形外观&#xff1a;简约时尚大气&#xff0c;手感不错&#xff01;\n投影亮度&#xff1a;1080P、4K&#xff0c;都能做到&#xff01;\n投影色彩&#xff1a;非常好&#xff0c;…

Paw 百度ai_直面落地!百度EasyDL产业智能创新大赛成果覆盖能源、交通、水利民生重业...

物体检测模型实现高压线路隐患检测、图像分类实现短视频快速剪辑和量产、文本情感分类辅助潜在心理疾病患者自发检测、图片识别车辆轮轴数监管车辆载重……每一个创想都能简单快速实现&#xff0c;没有AI开发基础的小伙伴们也能做到&#xff01;这一切都缘于百度零门槛AI开发平…

Java 9、10及更高版本:Java平台的未来

您紧跟Java平台新功能的秘密武器 自去年9月发布Java 9以来&#xff0c;感觉整个平台都经历了重大变化。 在我们甚至无法确定Java 9所能提供的一切之前&#xff0c;我们已经在标记Java 10的发布。现在&#xff0c;我们已经开始期待Java 11在2018年9月发布。 Oracle决定为Java平…

c fread 快读 详解_奔驰ACC(自适应巡航系统)详解

什么是ACC自适应巡航&#xff1f;ACC自适应巡航( Adaptive Cruise Control )&#xff0c;又可称为智能巡航控制系统&#xff0c;简称ACC系统&#xff0c;它是在传统巡航控制基础上发展起来的新一代汽车驾驶员辅助驾驶系统。它将汽车自动巡航控制系统CCS 和车辆前向撞击报警系统…

php使用邮件找回密码,php利用Zend_Mail发送邮件(实现邮件重设密码功能)

[php]代码库<?php include_once conn/conn.php;require_once Zend/Mail.php;//调用发送邮件的文件require_once Zend/Mail/Transport/Smtp.php;//调用SMTP验证文件$reback 0;$name $_GET[foundname];$question $_GET[question];$answer $_GET[answer];$sql "sele…

_Linux 最常用命令整理,建议收藏!

Linux是目前应用最广泛的服务器操作系统&#xff0c;基于Unix&#xff0c;开源免费&#xff0c;由于系统的稳定性和安全性&#xff0c;市场占有率很高&#xff0c;几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码&#xff0c;还可以安装在各…

hadoop可以解决什么问题_快速解决皮带机轴磨损问题可以这样做

皮带机是皮带输送机的简称&#xff0c;皮带机运用输送带的连续或间歇运动来输送各种轻重不同的物品&#xff0c;既可输送各种散料&#xff0c;也可输送各种纸箱、包装袋等单件重量不大的件货&#xff0c;用途广泛。皮带机运行时轴磨损是一个很常见的设备问题&#xff0c;某企业…

dbassit 包_CELINE新包,篮子包、圆盒包、腋下包、托特包等

CELINE 2021春夏女装系列以纪录片形式发布&#xff0c;由创意总监 Hedi Slimane 执导并设计配乐&#xff0c;在摩纳哥路易二世体育场取景。CELINE 2021春夏时装秀本季作品以「一代人的肖像」为题&#xff0c;在复古优雅中融入富有街头感的运动元素。CELINE 2021春夏时装秀女孩们…

bootstrap 悬浮固定_CST Tech Tips - 流式细胞术中如何固定和通透细胞?

CST TECH TIPS 系列课程 欢迎关注「CST博士互助平台」 有关流式细胞术(Flow Cytometry&#xff0c;FCM)实验步骤中的固定和通透化&#xff0c;你需要了解什么&#xff1f;进行流式细胞术&#xff0c;如果你所有的靶标均在外表面表达&#xff0c;那么可使用活细胞。但当你靶向胞…

自动装箱自动拆箱java,自动装箱?拆箱?==问题?详解java面试常见的一个问题...

1&#xff1a;前言相信大家都在面试中都被问到过一个问题&#xff0c;这个问题也是近年来面试官刁难人比较常见的一个问题&#xff0c;所以也被大家所熟知了&#xff0c;本质上也很简单&#xff0c;但是也是非常基础的一个题目。Integer a 100;Integer b 100;System.out.prin…

javafx 加载_JavaFX 2:如何加载图像

javafx 加载这是有关如何在JavaFX 2应用程序中加载图像的JavaFX教程。 使用ImageView可以轻松完成此操作。 ImageView是一个节点&#xff0c;用于绘制加载有Image类的图像。 因此&#xff0c;您将首先使用Image类加载图像&#xff0c;然后使用ImageView显示它。 我还将在这里演…

Juniper 210 密码清不掉_工程人不会看图纸?210页建筑识图详细教程,把你教得明明白白...

工程人不会看图纸&#xff1f;210页高清建筑识图详细教程&#xff0c;把你教得明明白白身为工程人&#xff0c;看不懂图纸有多可怕&#xff1f;可以说&#xff0c;举步维艰&#xff0c;寸步难行&#xff01;将复杂的图纸最简单化&#xff0c;这是我们工程人学会建筑识图的目的和…

Network下方什么请求也没有_今日头条上传图片时设置封面图报像素低的原因是什么...

今日头条发表原创图文时&#xff0c;在设置文章封面三张图时&#xff0c;有时候会遇到错误信息“部分图片实际像素低于172*120, 不支持设置为封面”。然而我上传的每张图片都是大小超过4MB的高清晰图片&#xff0c;怎么可能像素低于172 * 120? 因为我是个程序猿&#xff0c;所…

微软新浏览器_要超越Chrome?微软新发布的这款浏览器,有翻天覆地的变化!

可爱的分割线系统迷还记得&#xff0c;当年Edge浏览器刚发布的时候&#xff0c;真的是备受期待。可惜的是&#xff0c;由于其糟糕的体验&#xff0c;以及不完善的插件&#xff0c;最终让它变成了第二个IE。可能是出于无奈&#xff0c;微软选择放弃自家渲染引擎&#xff0c;改用…

centos mount 用法_linux screen的用法 - mouseleo

12016.04.02 17:34:56字数 1,019阅读 26,104大家在初次接触linuxVPS时&#xff0c;会发现linux操作和windows操作太不相同的&#xff0c;windows都是图形操作界面&#xff0c;而linux一般是命令行操作&#xff0c;当然&#xff0c;linux也有图形操作界面&#xff0c;但是我们在…