这次我对JMetro进行了重大更新。 3.8版带来了以下新的Fluent Design (FDS)启发风格(深色和浅色)和更新:
- 新的单选按钮样式;
- 复选框的新样式;
- 菜单的新样式;
- 更新了上下文菜单的样式;
- 选择框的新样式。
JMetro新版本详细信息
我决定暂时关闭对JMetro示例的关注。 不过,我仍然将控件的样式设置为看起来不错,并且在聚焦时具有鲜明的外观。 之所以这样做,是因为聚焦环在Windows 10中的功能与其默认情况下在JavaFX应用程序中的功能有所不同。
在JavaFX应用程序中,每当您按一下该控件时,该控件就会获得焦点(添加focused
伪类),而在Windows中,您需要先按Tab键或箭头键(在某些情况下)才能激活聚焦系统,使聚焦环出现,然后循环浏览直到找到所需的控件。
这是有道理的,因为这样,仅当用户确实确实希望通过使用键盘与应用程序进行交互时才显示聚焦环,否则避免了这种干扰。
您仍然可以在JavaFX中保持这种行为,只需要对其进行编码即可。 我还不知道Mac OS的新版本在这方面如何工作(我没有最新的Mac可以对此进行测试),但是将来可能会添加到JMetro中。
单选按钮新样式
以下动画显示了单选按钮的新样式和旧样式:
复选框新样式
复选框已发生重大变化:
由于更改了复选框,为了保持一致性,我还需要在提供新版本之前更改所有其他使用复选标记的控件。 这些控件是“选择框”和“菜单”。
新选择框样式
如前所述,这不是Fluent Design规范中存在的控件。 它仅存在于JMetro中。
新菜单样式
此样式是新添加的。 这是JMetro中仅存在的另一个。 它在Fluent设计系统规范中不存在,至少现在还不存在。
此样式包括菜单栏和打开菜单栏时显示的菜单项,它们本身可以是“复选框菜单项”或“无线电菜单项”类型的菜单项(在菜单项中只能选择一个RadioMenuItem
。相同的ToggleGroup
)。
在下面的示例中,“图片效果”子菜单包含RadioMenuItem
类型的MenuItems
, RadioMenuItem
都属于同一个ToggleGroup,
“视图”菜单包含CheckMenuItem
类型的MenuItems
,它们的工作方式与CheckBox
非常相似。
新的上下文菜单样式
菜单和上下文菜单是相互链接的。 两者都使用MenuItems
作为其内容。 因此,在创建新的菜单样式时,我希望有机会再次更新上下文菜单样式。
我更改了按下和悬停样式,还通过减小菜单项的高度使MenuItems
变得更加紧凑。 在以前的JMetro版本中,我的意图是使触摸目标足够大,以便可以在不更改触摸设备和基于鼠标的设备(台式机和笔记本电脑)的情况下使用该应用程序。
事实证明,这并不是最佳策略,因为基于鼠标的设备的用户最终使用的软件并未针对其系统进行优化,其控件占用了太多空间并浪费了屏幕空间。 这在生产力应用中尤其重要。
由于这些原因,JMetro现在针对基于鼠标的系统进行了优化,其控件仅占据了它们需要占用的空间。 每当应用程序开发人员需要在基于触摸的设备(电话,平板电脑等)中分发其应用程序时,他们只需通过每个控件(仅需要它的控件)CSS重新配置高度即可满足触摸的要求。目标尺寸。 这样,他们只需花费一点点编程即可获得针对基于触摸的设备和基于鼠标的设备进行了优化的应用程序。
将来,我可能会添加一个“触摸”样式类,开发人员可以轻松切换该类,以将控件切换为基于触摸的优化或“鼠标”的优化。
以下是新的和旧的“上下文菜单”样式(版本3之前)的动画。 旧样式只有一个版本:
这是此JMetro版本中的新样式:
结语
这是对JMetro的重大更新,总共增加了5种样式,包括深色和浅色版本。 新样式已添加到:单选按钮,复选框,选择框,菜单和上下文菜单。
JMetro现在为SDK附带的几乎所有JavaFX控件提供了样式。 它还添加了默认情况下不存在的新样式和新控件。
新版本专注于优化每个平台的屏幕空间。 在基于鼠标的设备(笔记本电脑,台式机)中更紧凑,在基于触摸的设备中更大的控件。 开发人员仍然需要配置每个控件CSS(需要它们的人),但是在将来的版本中可能会更容易。
我仍然没有更新文档,我将在以后的几天中进行更新。
与往常一样,如果您想保持最新状态并且不要错过,请订阅此博客并在Twitter上关注我。
这是我下一步计划的:
- 拨动开关的新样式;
- 滑块的新样式;
- Button的新样式(包括新动画);
- 轻松指定控件的颜色;
- 等等。
翻译自: https://www.javacodegeeks.com/2018/07/fluent-design-java.html
fluent