java8 javafx_Java8中的外观(JavaFX8)
java8 javafx
JavaFX8在外观方面进行了一些更改 ,其中最相关的是新CSS API ,它允许您为控件以及已公开的Skin类创建新CSS属性和伪类。
使用CSS可以更改控件的很多外观,但是CSS可以实现很多功能,这就是Skin类的用处。从“ UI控件体系结构”快速了解控件的体系结构 :
控件遵循经典的MVC设计模式。 控件是“模型”。 它既包含状态又包含处理该状态的功能。 Control类本身不知道它的呈现方式或用户交互的方式。 这些任务委托给外观(“视图”),后者可以在内部将视图和控制器功能分离为单独的类,尽管目前尚无用于“控制器”方面的公共API。
如前所述,Skinning的某些方面仍未公开API,而这是Behavior类,但是,按照当前的状态,您已经可以做很多事情。
由于Java8尚未处于GA状态(完整版本),因此仍然缺少有关该API的文档,这使我进入了有关JMetro的最新文章 ,当时我误以为您必须扩展一个控件以更改其对外观类的引用,这就是为什么我创建了ErasableTextField的原因。 但是,正如我后来了解到的那样,您可以仅通过CSS来更改控件的外观类,如下所示:
.text-field{-fx-skin: "jfxtras.styles.jmetro8.MetroTextFieldSkin";
}
“文本字段”样式类已分配给TextField,因此,当更改“ -fx-skin” CSS属性值时,对该控件将使用的皮肤类的引用也会更改。 因此,ErasableTextField类不再是必需的,并且已从JMetro中删除。
我发现这个设计非常有趣! 如您所见,Skins已与控件完全分离,您所要做的就是将样式表分配给场景,而无需触摸应用程序中的任何代码,并且应用程序的外观会发生根本性的变化,例如JMetro文本字段外观添加了一个清除按钮,只要其中包含文本,该按钮就会显示:
JMetro向TextField添加一个清除按钮
翻译自: https://www.javacodegeeks.com/2013/12/skinning-in-java8-javafx8.html
java8 javafx
java8 javafx_Java8中的外观(JavaFX8)相关推荐
- 第18课:生活中的外观模式——学妹别慌,学长帮你
用程序来模拟生活 从剧情中思考外观模式 外观模式 外观模式的模型抽象 类图 模型说明 设计要点 优缺点 实战应用 应用场景 [故事剧情] Tony 有个爱好,喜欢跑步.因为住的离北体(北京体育大学)比 ...
- Java8中的外观(JavaFX8)
JavaFX8在外观方面进行了一些更改 ,其中最相关的是新CSS API ,它允许您为控件以及已公开的Skin类创建新CSS属性和伪类. 使用CSS可以改变控件的很多外观,但是CSS只能实现很多功能, ...
- 【java8】中stream的.findAny().orElse (null) 是什么意思?
举例: List<User> userList = new ArrayList(); User user1 = userList.stream().filter(user -> &q ...
- Java8 Map中新增的方法使用总结
前言 得益于 Java 8 的 default 方法特性,Java 8 对 Map 增加了不少实用的默认方法,像 getOrDefault, forEach, replace, replaceAll, ...
- java设计模式 订阅模式_Java中的外观设计模式
java设计模式 订阅模式 立面是指建筑物的外观. 当穿过街道时,我们所看到的只是建筑物的外观. 该工作面抽象了建筑物的所有复杂实现细节. 同样, 外观设计模式旨在为子系统中的一组接口提供统一的接口. ...
- Java中的外观设计模式
立面是指建筑物的外观. 当穿过街道时,我们所看到的只是建筑物的外观. 该图面抽象了建筑物的所有复杂实施细节. 同样, 外观设计模式旨在为子系统中的一组接口提供统一的接口. 这个统一的接口对客户端隐藏了 ...
- java reduce 分组_使用JAVA8 stream中三个参数的reduce方法对List进行分组统计
背景 平时在编写前端代码时,习惯使用lodash来编写'野生'的JavaScript; lodash提供来一套完整的API对JS对象(Array,Object,Collection等)进行操作,这其中 ...
- java设计模式工厂模式_Java中的外观设计模式
java设计模式工厂模式 Facade Design Pattern is one of the Structural design patterns (such as Adapter pattern ...
- 全新iMac开发中!外观、屏幕、性能全面升级
除了全新14英寸和16 英寸MacBook Pro外,根据彭博社消息,苹果正在开发全新 iMac.全新 iMac 采用全新设计,窄边框屏幕.底部的金属下巴被移除,整体外观类似于 Pro Display ...
最新文章
- 2021年大数据常用语言Scala(二十九):scala面向对象 单例对象
- 看懂SqlServer查询计划
- opencv3 ubuntu安装脚本
- 高并发-【抢红包案例】之三:使用乐观锁方式修复红包超发的bug
- oracle删除表空间中的表,ORACLE删除表空间中的所有表
- qt 进程打开excel_Qt QAxObject操作excel文件过程总结(转):(示例代码)
- app上传头像处理Java_java后台加安卓端实现头像上传功能
- 使用Xamarin.Forms的企业应用程序模式(电子书)--依赖注入
- 32k通过地址跳转到函数_【HYPERLINK】函数技巧,你一定要知道的!!!
- Java架构师具备的特点有哪些?
- linux大一实验报告,linux实验报告
- elementUI压缩图片和将图片转成base64格式
- intellij idea 的常用有用快捷键
- Asp.net core WebApi 使用Swagger生成帮助页实例
- 最全最新cpu显卡天梯图_2018 年新近详细CPU、显卡天梯图
- Redis的安装配置与使用
- 推荐5款常用编程文本编辑器
- idea或者goland更改主题颜色背景颜色
- 如何查看ps图片中边框的背景颜色
- CSS绘制常见的几何图形