Fluent Design单选按钮,复选框,选择框,Java菜单

这次我对JMetro进行了重大更新。 3.8版引入了以下新的Fluent Design (FDS)启发风格(深色和浅色)和更新:

  • 新的单选按钮样式;
  • 复选框的新样式;
  • 菜单的新样式;
  • 更新了上下文菜单的样式;
  • 选择框的新样式。

JMetro新版本详细信息

我决定暂时关闭对JMetro示例的关注。 不过,我仍然将控件的样式设置为看起来不错,并且在聚焦时具有鲜明的外观。 之所以这样做,是因为聚焦环在Windows 10中的功能与其默认情况下在JavaFX应用程序中的功能有所不同。

在JavaFX应用程序中,每当您按一下该控件时,该控件就会获得焦点(添加focused伪类),而在Windows中,您需要先按Tab键或箭头键(在某些情况下)才能激活聚焦系统,使聚焦环出现,然后循环浏览直到找到所需的控件。

这是有道理的,因为这样,仅当用户确实确实希望通过使用键盘与应用程序进行交互时才显示聚焦环,否则避免了这种干扰。

您仍然可以在JavaFX中保持这种行为,只需要对其进行编码即可。 我还不知道Mac OS的新版本在这方面如何工作(我没有最新的Mac可以对此进行测试),但是将来可能会添加到JMetro中。

单选按钮新样式

以下动画显示了单选按钮的新样​​式和旧样式:

单选按钮OLD JMetro灯光样式

单选按钮OLD JMetro灯光样式

单选按钮NEW JMetro灯光样式

单选按钮NEW JMetro灯光样式

单选按钮OLD JMetro深色样式

单选按钮OLD JMetro深色样式

单选按钮新JMetro黑暗风格

单选按钮新JMetro深色风格

复选框新样式

复选框已发生重大变化:

复选框OLD JMetro灯光样式

复选框OLD JMetro灯光样式

复选框新JMetro灯光样式

复选框新JMetro灯光样式

复选框OLD JMetro深色样式

复选框OLD JMetro深色样式

Check Box NEW JMetro深色款

Check Box NEW JMetro深色款

自从更改复选框以来,为了保持一致性,我还需要在提供新版本之前更改所有其他使用复选标记的控件。 这些控件是“选择框”和“菜单”。

新选择框样式

如前所述,这不是Fluent Design规范中存在的控件。 它仅存在于JMetro中。

Choice Box OLD JMetro灯光风格

Choice Box OLD JMetro灯光风格

Choice Box NEW JMetro灯光风格

Choice Box NEW JMetro灯光风格

Choice Box OLD JMetro风格

Choice Box OLD JMetro风格

Choice Box NEW JMetro深色款

Choice Box NEW JMetro深色款

新菜单样式

此样式是新添加的。 这是JMetro中仅存在的另一个。 它在Fluent设计系统规范中不存在,至少目前还不存在。

此样式包括菜单栏和打开菜单栏时显示的菜单项,它们本身可以是“复选框菜单项”或“无线电菜单项”类型的菜单项(在菜单项中只能选择一个RadioMenuItem 。相同的ToggleGroup )。

在下面的示例中,“图片效果”子菜单包含RadioMenuItem类型的MenuItemsRadioMenuItem都属于同一个ToggleGroup, “视图”菜单包含CheckMenuItem类型的MenuItems ,它们的工作方式与CheckBox非常相似。

菜单JMetro灯光样式

菜单JMetro灯光样式

菜单JMetro深色风格

菜单JMetro深色风格

新的上下文菜单样式

菜单和上下文菜单是相互链接的。 两者都使用MenuItems作为其内容。 因此,在创建新的菜单样式时,我希望有机会再次更新上下文菜单样式。

我更改了按下和悬停样式,还通过减小菜单项的高度使MenuItems变得更加紧凑。 在以前的JMetro版本中,我的意图是使触摸目标足够大,以便可以在不更改触摸设备和基于鼠标的设备(台式机和笔记本电脑)的情况下使用该应用程序。

事实证明,这并不是最佳策略,因为基于鼠标的设备的用户最终使用的软件并未针对其系统进行优化,而控件占用了过多的空间并浪费了屏幕空间。 这在生产力应用中尤其重要。

由于这些原因,JMetro现在针对基于鼠标的系统进行了优化,其控件仅占据了它们需要占用的空间。 每当应用程序开发人员需要在基于触摸的设备(电话,平板电脑等)中分发其应用程序时,他们只需通过每个控件(仅需要它的控件)CSS重新配置高度即可满足触摸的需要。目标尺寸。 这样,他们只需花费一点点编程即可获得针对基于触摸的设备和基于鼠标的设备进行了优化的应用程序。

将来,我可能会添加一个“触摸”样式类,开发人员可以轻松切换该类,以将控件切换为基于触摸的优化或“鼠标”的优化。

以下是新的和旧的“上下文菜单”样式(版本3之前)的动画。 旧样式只有一个版本:

上下文菜单OLD JMetro深色样式

上下文菜单OLD JMetro深色样式

这是此JMetro版本中的新样式:

上下文菜单NEW JMetro灯光样式

上下文菜单NEW JMetro灯光样式

上下文菜单NEW JMetro深色风格流利设计

上下文菜单NEW JMetro深色样式

包起来

这是对JMetro的重大更新,总共增加了5种样式,包括深色和浅色版本。 新样式已添加到:单选按钮,复选框,选择框,菜单和上下文菜单。

JMetro现在为SDK附带的几乎所有JavaFX控件提供了样式。 它还添加了默认情况下不存在的新样式和新控件。

新版本专注于优化每个平台的屏幕空间。 在基于鼠标的设备(笔记本电脑,台式机)中更紧凑,在基于触摸的设备中更大的控件。 开发人员仍然需要配置每个控件CSS(需要它们的人),但是在将来的版本中可能会更容易。

我仍然没有更新文档 ,我将在以后的几天中进行更新。

与往常一样,如果您想了解最新信息并且不要错过,请订阅此博客并在Twitter上关注我。

这是我下一步计划的:

  • 拨动开关的新样式;
  • 滑块的新样式;
  • Button的新样式(包括新动画);
  • 轻松指定控件的颜色;
  • 等等。

翻译自: https://www.javacodegeeks.com/2018/07/fluent-design-java.html

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

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

相关文章

stability condition in queueing system

https://www.unf.edu/~cwinton/html/cop4300/s09/class.notes/e1-Stability.pdf

undertow服务器分析_进入Undertow Web服务器

undertow服务器分析随着Java EE 7的到来以及处理诸如Web Sockets API和HTTP升级(例如EJB over HTTP)之类的高级功能的要求,WildFly开发团队已经做出了重要决定。 在长期致力于JBoss Web服务器(Apache Tomcat的一个分支&#xff09…

matlab中的rng函数

一、matlab中的随机函数有:rand、randn 1、rand() 功能:生成0-1之间的伪随机数 e.g. rand(3) 生成一个3*3的0-1之间的伪随机数矩阵 2、randn() 功能:生成标准正态分布的伪随机数(均值为0&am…

inf sup上下确界与 min, max 的区别

inf 是 infimum 的简称,sup 是 supremum 的简称。 使用 inf 或 sup 总能保证一个函数的 inf 或 sup 存在,而函数的 min 或 max 有时候不存在。 inf 的定义:一个集合最大的下界 下确界:infimum,简写为 inf&#xff08…

在边缘,作为网关或在网格中构建控制平面以管理Envoy代理的指南

最近, Envoy已成为流行的网络组件。 马特克莱因( Matt Klein )在几年前写了一个博客,内容涉及Envoy的动态配置API,以及它如何成为Envoy的采用曲线向右移的原因之一。 他称该博客为“通用数据平面API”。 由于有许多其他…

java编译器分析_Java反编译器的剖析

java编译器分析简单地说,反编译器尝试将源代码转换为目标代码。 但是有很多有趣的复杂性-Java源代码是结构化的; 字节码当然不是。 而且,转换不是一对一的:两个不同的Java程序可能会产生相同的字节码。 我们需要应用试探法以合理地…

各种各样的数

数的类别 数可以被分类为数系的集合内。对于以符号表示数的不同方式,则请看记数系统。 自然数 主条目:自然数 最常用的数为自然数,有些人指正整数,有些人则指非负整数。前者多在数论中被使用,而在集合论和计算机科学…

JDK 11上的JavaFX

在第11版发布之后,人们对JavaFX与JDK的解耦感到百感交集。 我们中的许多人认为现在是时候告别JavaFX并改用另一种GUI技术了,而另一些人对此情况感到高兴。 他们认为,将JavaFX与Oracle分离开来,并致力于将其开发为开源社区驱动的项…

HMM(隐马尔可夫模型)

1.什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度。熵越大,系统越无序,意味着系统结构和运动的不确定和无规则;反之,,熵越小,系统越有序&am…

Java NIO教程

1.简介 Java NIO是从Java 1.4引入的库。 自从Java NIO推出以来,它提供了另一种方法来处理I / O和网络事务。 它被认为是Java网络和Java IO库的替代方法。 开发Java NIO的目的是使输入和输出的事务异步和非阻塞。 阻塞和非阻塞IO的概念将在后面的部分中介绍。 目录…

关于判断函数凸或凹以及最优化的问题

大部分情况下都转换为凸优化问题&#xff0c;并通过最优化方法来求解&#xff0c;因此了解相关知识就显得尤为重要了。 主要内容&#xff1a; 问题引出凸集凸函数凸优化最优化 1、问题引出 在n维空间中&#xff0c;对于任意两个点&#xff0c;对于0<μ<1&#xff0c;…

javafx弹出式窗口_JavaFX 8的弹出式编辑器

javafx弹出式窗口在过去的几个月中&#xff0c;我很高兴与JavaFX 8一起使用&#xff0c;以便为计划和调度应用程序实现复杂的用户界面。 所需的功能之一是执行“就地”编辑的方法&#xff0c;即快速编辑用户选择对象的某些基本属性的方法。 遵循“如果您无法创新&#xff0c;就…

随机访问MAC协议 知识梳理(ALOHA,CSMA,CSMA/CD,CSMA/CA)

0、随机访问MAC的协议 数据链路层动态随机分配信道时对随机访问MAC协议&#xff1a;ALOHA&#xff0c;CSMA&#xff0c;CSMA/CD&#xff0c;CSMA/CA ALOHA&#xff0c;CSMA&#xff0c;CSMA/CD的区别仅在于是否对信道进行监听和是否有碰撞检测&#xff1a; 1、ALOHA&#xf…

认识CUBA平台的CLI

毫无疑问&#xff0c;软件开发人员&#xff08;尤其是Java开发人员&#xff09;的世界充满了键盘狂热者&#xff0c;最好是一次单击即可键入10-15个字母。 而且我们的社区也不例外&#xff0c;因此经常有人问我们“如何在没有CUBA Studio的情况下启动项目&#xff1f;”之类的问…

将matlab中数据输出保存为txt或dat格式

一、将matlab中数据输出保存为txt或dat格式的三种方法。 第一种方法&#xff1a;save&#xff08;最简单基本的&#xff09; 具体的命令是&#xff1a;用save *.txt -ascii x x为变量 *.txt为文件名,该文件存储于当前工作目录下&#xff0c;再打开就可以打开后,数据有可能是以…

马尔可夫链笔记

1 引言 之前学习了伯努利过程和泊松过程&#xff0c;它们是无记忆性&#xff0c;不依赖于过去的状态&#xff0c;今天学习了马尔可夫链&#xff0c;它会依赖于过去的过程&#xff0c;更准确的说是依赖于过去的某种状态。 2 离散时间的马尔可夫链&#xff08;Markov Chain, MC…

「协方差」与「相关系数」的概念

一、协方差&#xff1a; 可以通俗的理解为&#xff1a;两个变量在变化过程中是同方向变化&#xff1f;还是反方向变化&#xff1f;同向或反向程度如何&#xff1f; 你变大&#xff0c;同时我也变大&#xff0c;说明两个变量是同向变化的&#xff0c;这时协方差就是正的。 你…

垃圾收集 java_关于Java垃圾收集

垃圾收集 java本文讨论的是使用的最流行的框架之一带来的开销–我敢打赌&#xff0c;几乎没有应用程序不使用java.util.Collections。 本文基于以下事实&#xff1a;框架为例如集合的初始大小提供了默认值。 因此&#xff0c;我们有一个假设&#xff0c;即大多数人不会费心地自…

Latex \bibliographystyle+修改字体字号的大小

1. bibliography style LaTeX 标准选项及其样式共有以下8种&#xff1a; plain &#xff0c;按字母的顺序排列&#xff0c;比较次序为作者、年度和标题. unsrt &#xff0c;样式同plain&#xff0c;只是按照引用的先后排序. alpha &#xff0c;用作者名首字母年份后两位作标号…

boxplot

1. 简介 箱形图&#xff0c;又称为盒须图、盒式图、盒状图或箱线图&#xff0c;是一种用作显示一组数据分散情况资料的统计图。箱形图于1977年由美国著名统计学家约翰图基&#xff08;John Tukey&#xff09;发明。它能显示出一组数据的最大值、最小值、中位数、上下四分位数及…