fluent design_Fluent Design单选按钮,复选框,选择框,Java菜单

fluent design

这次我对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深色款

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

新选择框样式

如前所述,这不是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

fluent design

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

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

相关文章

MySQL的explain工具介绍

文章目录介绍explain extendedshow waringsexplain partitionsid 字段select_typetypekeypossible_keyskey_lenkey_len 计算规则refrowsextra介绍 使用 explain 可以模拟优化器执行 SQL 语句,会返回 SQL 语句的执行计划信息,但是不会真正去执行这条 SQL…

jetty设置双向ssl_在Jetty中设置SSL

jetty设置双向ssl当您必须快速启用SSL并陷入困境时,您是否遇到了问题:-( 你并不孤单,我将分享我的痛苦和一些学习。 我将分享在码头上启用SSL的步骤。 警告:仅将以下说明用于开发人员设置和生产,请联系您的安全专家…

使用Thumbnailator压缩照片

导入依赖 <dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.8</version></dependency>代码 package com.asx.hyd.non.trs;import net.coobird.thumbnailator.Thumbnails;impo…

MySQL的索引优化

文章目录全值匹配最左前缀原则不在索引列上使用函数&#xff0c;会导致索引失效而转向使用全表扫描范围条件右边的索引列会失效尽量使用覆盖索引使用不等于操作符无法使用索引is null&#xff0c;is not null 一般情况下也无法使用索引like 以通配符开头的&#xff0c;索引会失…

cuba 平台_认识CLI for CUBA平台

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

关闭zookeeper进程

查看端口是否占用 netstat -ano|findstr “2181” 关闭相应进程 tskill 端口号 MAC启动配置文件 找到对应路径 /Users/mac/Desktop/soft/software/apache-zookeeper-3.8.0/bin启动zookeeper ./zkServer.sh start查看状态 ./zkServer.sh status关闭zookeeper ./zkServe…

Linux系统下,虚拟终端开启256色_虚拟终端类型xterm开启256色

文章目录查看当前终端类型修改终端类型查看当前终端类型 现在的终端模拟器早就支持256色了&#xff0c;不过默认可能还是8色的。 开启终端&#xff0c;查看终端类型&#xff1a; [roothtlwk0001host ~]# echo $TERM xterm接着查看 xterm 终端支持的颜色&#xff1a; [rooth…

io.realm:rea_使Java具有响应性的框架和工具包:RxJava,Spring Reactor,Akka和Vert.x概述...

io.realm:rea如今&#xff0c;人们需要具有高用户体验的高响应性&#xff0c;交互式应用程序&#xff0c;这通常意味着要处理异步性&#xff0c;尤其是当应用程序涉及高负载&#xff0c;实时数据和多用户时。 由于Java是一种固有的语言&#xff0c;它固有地支持命令式编程风格…

解决postman请求乱码问题

在请求头里加入 Content-Type&#xff1a;application/json;charsetUTF-8

vim如何开启256色

相同的colorschema&#xff0c;vim 和 gvim 的颜色差距还是很大的&#xff0c;因为 gvim 使用 X 的颜色&#xff0c;而 vim 只能使用终端提供的颜色&#xff0c;所以造成了二者的显示差异。所以 vim 开启 256 色&#xff0c;必须开启终端的 256 色&#xff0c;另请参见《Linux系…

spring boot分层_只需5分钟即可启动并运行分层架构:: Spring Boot第1部分

spring boot分层这是一个分为两部分的系列&#xff0c;其中我将展示如何使用Spring Boot创建分层体系结构。 什么是分层体系结构&#xff1a;简而言之&#xff0c;当我们构建企业应用程序时&#xff0c;我们维护不同的层以封装特定于层的逻辑&#xff0c;这样就不会溢出到另一…

java相除保留两位小数_Java:Java快速入门

源代码组织方式Java程序由packageclass组成&#xff0c;package对应目录的相对路径。1 package com.happyframework.javastudy.hello;2 3 public final class Hello {4 public static void hello(){5 System.out.println("hello!");6 }7 }关于class有如下几点规则&am…

Linux系统下与终端相关的命令

文章目录一、命令 who or w 可以显示有哪些终端登录二、命令 who am i 用来显示当前终端是哪一个三、命令 tty 显示当前终端的设备文件四、命令 chvt 用来切换虚拟终端五、命令 last 显示每个终端的登录时间和持续时间等信息六、命令 toe -a 列出系统支持的所有终端类型七、命令…

jdk switch 枚举_JDK 12开关表达式遇到意外的枚举值

jdk switch 枚举正如我在“ 玩JDK 12的Switch表达式 ”一文中所写的那样&#xff0c; JDK 12 Early Access Build使JEP 325 [“ Switch Expressions&#xff08;Preview&#xff09;”&#xff09;实现的实验变得容易。 我的帖子“ JDK 12&#xff1a;实际中的切换语句/表达式 …

MacBook/MacOS如何写入MacBook特有的符号(例如:⌘/⌥/⎋/⇪)

文章目录步骤说明图文说明步骤说明 1.打开「表情与符号」 按快捷键 Ctrl Command Space 打开「表情与符号」窗口&#xff1b;你也可以在顶部菜单栏中的输入法&#xff0c;然后点击下拉的菜单列表中的「显示表情与符号」。如果找不到这个菜单项&#xff0c;你需要在电脑的「系…

java-jar jvm_使用Java流和In-JVM-Memory的超低延迟查询

java-jar jvm自然界的基本规则&#xff08;例如光速和通用信息论&#xff09;对我们可以从传统系统体系结构中获得的最大性能设置了明显的限制。 了解您作为Java开发人员如何使用JVM技术和Java流将性能提高几个数量级。 例如&#xff0c;如果应用程序服务器和数据库服务器相距…

关闭进程

查看端口是否被占用 netstat -ano|findstr “2181” 关闭进程 tskill port

iTerm2 for MacOS(终端模拟器/终端仿真器/命令终端工具)设置详解

文章目录General 通用Startup 启动Closing 关闭MagicSelectionWindowtmuxAppearanceGeneral隐藏程序图标theme 主题tab bar location 选项卡栏位置status bar location状态栏位置WindowsTabsPanesDimming 调光Profiles 配置文件General自定义终端界面的标志自定义标签页标题Sho…

dcdc芯片效率不高的原因_研学丨燃料电池车的典型效率及能耗

燃料电池的一大优势是高效率&#xff0c;能够更高效的利用能源。现在燃料电池车的研发已经持续了相当长一段时间(世界上第一辆燃料电池车为1966年通用的Electrovan)&#xff0c;燃料电池车也迭代了许多&#xff0c;那么燃料电池车的效率、氢耗水平都怎么样呢&#xff1f;这里通…

groovy lambda_Java Lambda流和Groovy Clouse的比较

groovy lambda这篇博客文章将研究List数据结构上的一些谚语操作&#xff0c;并对Java 8/9和Groovy语法进行一些比较。 因此&#xff0c;首先是数据结构。 这只是一个简单的橄榄球球员&#xff0c;具有名字和等级。 Java class RugbyPlayer {private String name;private Inte…