JavaFX学习笔记(04)
来源:互联网 发布:数据库去除重复记录 编辑:程序博客网 时间:2024/06/04 19:31
这一篇我们来结束一下之前构造的DSL吧。
其实本来我还想继续构建下去的,但是被几个朋友吐槽说很丑,所以还是算了吧……不过我倒是挺喜欢这种流插入风格的
嗯,这里是我们的测试程序现在目前的状态
class Test extends SApplication { def start(primaryStage: Stage) { nSButton << Name << "btn" << Type << SButton << OnAction << println("Hello World") << Text << "Hello World!" val root = new StackPane root.getChildren.add("btn" :: SButton) val scene = new Scene(root, 300, 250) primaryStage << Title << "Hello World!" << IStage.Scene << scene << Show }}
可以看到,下端的部分也变成了流插入的风格。或许有朋友会疑惑,为什么我们能在Stage类的对象上调用<<方法?其实很简单,这里我们用到了一个隐式转换` implicit def stage2istage(stage: Stage) = new IStage(stage)
,把Stage对象转换成我们自定义的IStage类对象,然后调用IStage对象的<<方法。
package sjavafx.stageimport javafx.scene.Sceneimport javafx.stage.Stageimport sjavafx.Insertableimport sjavafx.application.SApplicationimport sjavafx.application.SApplication.IStage._/** * Created by Administrator on 2016/10/5. */class IStage(val stage: Stage) extends Insertable { def <<(t:Title.type ) = new In{ def <<(str:String) = { s.setTitle(str) Is } } def <<(t:SApplication.IStage.Scene.type ) = new In{ def <<(sc:Scene) = { s.setScene(sc) Is } } def <<(show:Show.type ) = { stage.show() stage } class In(val Is: IStage = this ,val s: Stage = stage)}
现在,我们的DSL构建也告一段落,下一篇我们就要回到正常的JavaFX学习中了。
0 0
- JavaFX学习笔记(04)
- JavaFX学习笔记(01)
- JavaFX学习笔记(03)
- Java学习笔记(14.1)JavaFX Basics
- Java学习笔记(14.2)JavaFX Basics
- JavaFX学习笔记 (一)
- JavaFX学习笔记
- Javafx 学习笔记
- Java学习笔记(16)JavaFX UI Controls and Multimedia JavaFX UI控件和多媒体
- JavaFX学习笔记(02)(DSL构建)
- JavaFX学习笔记(一) - 准备篇(环境搭建)
- JavaFX学习笔记(三) FXML与控制器(Java代码)
- JavaFX学习笔记(二) 用JavaFX Scene Builder设计UI
- JavaFX笔记
- JavaFX笔记
- 学习JavaFX
- JavaFx学习之道:JavaFx初步了解
- JavaFX学习之道:JavaFX之TableView
- JSP动态获取部署的应用名
- PHP实现使用优酷土豆视频地址获取swf播放器分享地址
- Class类,反射的概念
- 勾股定理一日一证连载124
- java的动态代理机制详解
- JavaFX学习笔记(04)
- 根据数据的父子关系创建树形结构并实现遍历
- 微软100题第20题
- 雌性激素过高怎么办?
- Hibernate学习笔记(五)——多对多映射
- 【Search&String Algorithm Training】Xiper的奇妙历险(1)
- Medium 91题 Decode Ways
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- 动态规划_最大子数组|||_1