javafx 打开新窗口






你好,我们又见面了! 这次,新版本与JavaFX 11兼容。

继续阅读以获取详细信息。

JMetro 8.5.7和11.5.7版本

JMetro代码已分为2个分支。 master分支具有Java 8兼容的JMetro版本,“ 11”分支具有Java 11兼容的版本。 以“ 11.”开头的版本。 将适用于Java 11和以“ 8”开头的版本。 将适用于Java 8。

“ 11”分支正在针对JavaFX11进行测试,但可能在JavaFX 9以及即将发布的JavaFX 13上都可以正常工作。

以前的JMetro版本的所有CSS都可以与JavaFX11一起使用,不同之处在于,现在通过CSS引用的新外观也可以使用。

迁移的困难在于,代码已从JavaFX8更改为JavaFX9,并且控件外观已公开且其代码已更改。 此外,模块的引入及其在JavaFX9 +框架代码中的使用,使得访问皮肤所使用的内部类(如“行为”类)成为不可能(在某些情况下不是不可能的,但仍然是不可取的)。

所有皮肤都已转换。 他们是:

  • 纽扣皮

在切换按钮和常规按钮上添加弹簧按钮按下动画: https : //pixelduke.com/2018/08/27/fluent-design-button-toggle-button-tooltip/

  • TextField外观和PasswordField外观

在“文本字段”的右侧添加一个按钮,该按钮可让您清除文本;对于“密码字段”,该按钮将允许您以纯文本格式查看密码: https : //pixelduke.com/2019/01/20/jmetro-version- 5-2-released /,https://pixelduke.com/2018/09/09/fluent-design-style-text-field-and-password-field-for-java-javafx/

  • ProgressBar皮肤

设置不确定的ProgressBar的外观,使其等于Fluent Design规格不确定的ProgressBar的外观: https : //pixelduke.com/2018/09/30/fluent-design-style-progress-bar-for-java-javafx/

  • 滑块皮肤

向滑块添加填充。 我认为JavaFX Slider中目前存在的一些明显遗漏。 并添加一个弹出窗口,该弹出窗口告诉用户在拖动拇指时在滑块上设置的确切值: https : //pixelduke.com/2018/08/19/fluent-design-slider-java-javafx /

  • 拨动开关皮肤

我为ControlsFX创建的拨动开关控件的新Skin 。 它添加了一些功能和修复: https : //pixelduke.com/2018/08/12/fluent-design-toggle-switch-java-javafx/

8.5.7和11.5.7中的新功能

对于熟悉以前的JMetro版本的开发人员,API已更改。

现在, JMetro类的构造函数接受一个Scene和一个Style或一个Parent和一个Style

然后添加了以下属性:

  • 样式

DARKLIGHT样式外观。

  • 现场

将应用JMetro主题的Scene

  • 父母

将应用JMetro主题的Parent 。 如果设置了此属性并且之前还设置了一个Scene ,则对JMetro实例的更改将开始应用于新指定的Parent而不是应用于Scene 。 如果在设置“ Parent之后设置“ Scene ,则会发生相反的情况。

  • 自动彩色调色板

如果为true,则所有Panes (例如BorderPane, AnchorPane, StackPane, Pane等)将自动设置其背景颜色。 如果样式为DARK则背景将为深色(如黑色),如果样式为LIGHT则背景将为浅(如白色)。 这样做的缺点是,如果您有将Panes作为中间子级的自定义控件,则通常需要将其背景重新定义为透明,否则您的自定义控件中可能会出现白色/黑色背景补丁。 或者,如果将此属性设置为false(默认值),则可以将样式类.background添加到应该位于应用程序背景中的Panes中。 然后,它们将根据Style属性值自动更改其背景颜色。

  • getOverridingStylesheets

实际上,这实际上是可以添加样式表的ObservableList 。 该样式表将添加到构成JMetro主题定义的样式表之后。 这意味着添加到此列表的样式表将覆盖JMetro主题设置的定义,以防它们的特异性相同或更高。 因此,这是重新定义和添加覆盖JMetro的自定义样式的好地方。

其他变化

除了上述更改。 现有的JMetro样式已进行了更多修复。 所有JMetro示例均已迁移到“ 11”分支中的JavaFX11。 最终,该代码已被清除,JavaFX2仍然存在CSS代码之类的东西已被删除。

结语

如所承诺的,JMetro的JavaFX9 +版本现在也可用。 我试图推迟此操作,因为我仍然有Java8客户端恰好在使用JMetro,而维护2个版本可能会很麻烦。 这样,master分支中的Java 8版本将暂时保持不变。

该API也已被清理,我认为它现在变得越来越干净。 新属性也已添加到JMetro类,从而可以进一步自定义JMetro。

翻译自: https://www.javacodegeeks.com/2019/08/new-jmetro-javafx-11-compatible-version.html

javafx 打开新窗口