fluent design

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

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

JMetro新版本详细信息

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

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

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

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

单选按钮新样式

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

单选按钮OLD JMetro灯光样式

单选按钮NEW JMetro灯光样式

单选按钮OLD JMetro深色样式

单选按钮新JMetro黑暗风格

复选框新样式

复选框已发生重大变化:

复选框OLD JMetro灯光样式

复选框新JMetro灯光样式

复选框OLD JMetro深色样式

Check Box NEW JMetro深色款

由于我更改了Check Box,为了保持一致性,我还需要在交付新版本之前更改所有其他使用复选标记的控件。 这些控件是“选择框”和“菜单”。

新选择框样式

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

Choice Box OLD JMetro灯光风格

Choice Box NEW JMetro灯光风格

Choice Box OLD JMetro风格

Choice Box NEW JMetro深色款

新菜单样式

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

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

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

菜单JMetro灯光样式

菜单JMetro深色风格

新的上下文菜单样式

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

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

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

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

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

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

上下文菜单OLD JMetro深色样式

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

上下文菜单NEW JMetro灯光样式

上下文菜单NEW JMetro深色样式

结语

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

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

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

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

与往常一样,如果您想保持最新状态并且不要错过,请订阅此博客并在Twitter上关注我。

这是我下一步计划的:

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

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

fluent design

fluent design_Fluent Design单选按钮,复选框,选择框,Java菜单相关推荐

  1. 选下拉框的的值对应上传相应的图片_vue.js如何拿到多种类型表单值提交到后台,包含上传图片、单选、复选、文本框、下拉列表框...

    2016-01-17 编辑更新 vue.js如何拿到多种类型表单值提交到后台,包含上传图片.单选.复选.文本框.下拉列表框 下面的html包括多种类型的表单,其中包括图片上传,如何拿到这些表单的值提交 ...

  2. 【js】复选框,复选下拉框,文本框勾连

    [js]对常见事件的一个总结 ps: 内容涉及(kendo Ui, jQuery) 如下图所示:要求实现功能点 (1)用户名(复选下拉框,可选择多个)和用户名(文本输入框)相勾连 复选下拉框改变,文本 ...

  3. Qt实现复选下拉框 C++

    文章目录 一.QListWidget+QListWidgetItem 二.activate(int) 总结 一.QListWidget+QListWidgetItem 实现QComboBox下拉框复选 ...

  4. html语言中复选按钮,命令按钮单选按钮复选按钮

    命令按钮.单选按钮.复选框上都有Picture属性,可选项: a.Appearance属性 b.Style属性 c.DisabledPicture属性 d.Downb. VB实现点击命令按钮将对单选( ...

  5. jQuery插件imageTick实现复选和单选框转化为图片

    使用说明 需要使用jQuery 库文件和imageTick 库 文件[在线演示 ][下载 ] 使用实例 一,包含文件部分 <script type="text/javascript&q ...

  6. VC++中按钮,文本框,选择框的常用方法

    2005年8月13日21:57:44 --------------------------------------------------------------------------------- ...

  7. 小程序开发之各种弹出框选择框汇总

    小程序开发过程中,很多地方为了便利我们多采用小程序自带弹出框来实现交互效果.这也够大多数开发使用,下面我给大家详细介绍下小程序弹出框 官方api传送门:https://developers.weixi ...

  8. eazy ui 复选框单选_UI备忘单:单选按钮,复选框和其他选择器

    eazy ui 复选框单选 重点 (Top highlight) Pick me! Pick me! No, pick me! In today's cheat sheet we will be lo ...

  9. Java知多少(87)选择框和单选按钮(转)

    选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 "on/off"选择功能,让用户在一组选择项目中作选择. ...

最新文章

  1. PHP测试使用postman发送post请求,却报错此接口不支持get请求的原因
  2. 在XX公司工作第二天,维护已有代码
  3. 配置hibernate_测试Hibernate的最低配置
  4. mysql报错error2002_mysql中异常错误ERROR:2002的解决方法分享
  5. BZOJ 3033 太鼓达人
  6. sas分组计数_SAS读书笔记:SQL
  7. 一夜抢空880万!中国最狠印钞机,终于开始收割年轻人了
  8. nginx与IIS服务器搭建集群实现负载均衡(三)
  9. python3,进程间的通信
  10. vue自动化单元测试
  11. rails 3环境搭建
  12. html5 小车动画_HTML5 实现小车动画效果(Canvas/CSS3/JQuery)
  13. paip.FTP服务端及客户端的使用总结
  14. 软著 代码合并 脚本递归合并目录下所有代码
  15. python怎么画地图空间分异图_中国西南诸河流域东片土壤、植被生态系统的分异...
  16. 聚合支付系统设计(三)
  17. 使用mysql数据库_wuli大世界_新浪博客
  18. 探索Selenium打开浏览器加载慢的原因
  19. Java实现 LeetCode 492 构造矩形
  20. Word2010无法输入中文

热门文章

  1. 【学习笔记】平等博弈及常见的公平博弈类型
  2. 洛谷P4463:calc(dp、拉格朗日插值)
  3. 2021牛客OI赛前集训营-提高组(第五场)C-第K排列【dp】
  4. 牛客挑战赛48E-速度即转发【带修莫队,分块】
  5. P4201-[NOI2008]设计路线【结论,树形dp】
  6. 和某ZYC巨佬和XXY巨佬的随机挑战2总结
  7. 裁缝师(2011特长生 T2)
  8. Flume均匀发送数据到kafka的partition配置UUID Interceptor生成key的坑
  9. Java Socket编程总结
  10. C++描述杭电OJ 2023.求平均成绩 ||