Scala中SAM转换实战详解之Scala学习笔记-15

package com.leegh.function

import javax.swing.JFrame
import javax.swing.JButton
import java.awt.event.ActionListener
import java.awt.event.ActionEvent

/**
* @author Guohui Li
*/
object SAM_Curring {
def main(args: Array[String]): Unit = {
var data = 0;
val frame = new JFrame("SAM Testing")
val jButton = new JButton("Counter")
// jButton.addActionListener(new ActionListener {
// override def actionPerformed(event: ActionEvent) {
// data += 1;
// println(data)
// }
// })

implicit def convertedAction(action: (ActionEvent) => Unit) = new ActionListener {
override def actionPerformed(event: ActionEvent) = { action(event) }
}

jButton.addActionListener((event: ActionEvent) => { data += 1; println(data) })
frame.setContentPane(jButton)
frame.pack()
frame.setVisible(true)
}
}

附:

本博客说明:

1.整理思路,提高自己。

2.受教于王家林老师,?有所收获,故推荐。

3.博客注重实践,多余的文字就不多说了,都是做技术的。

4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。?

DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。

Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2

时间: 2024-12-25 15:25:11

Scala中SAM转换实战详解之Scala学习笔记-15的相关文章

第24讲: Scala中SAM转换实战详解

SAM 是single  abstract method的缩写,就是一些接口只有单个抽象方法 假设我们需要做一个按钮,每当按下按钮时,后台记录一次点击次数.在Java中代码实现的方式如下: package com.dt.scala.func import javax.swing.JButton import java.awt.event.ActionListener import java.awt.event.ActionEvent import javax.swing.JFrame objec

DT梦工厂 第24讲 scala中sam转换实战详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/dHz5JKJxurM/优酷:http://v.youku.com/v_show/id_

Scala中复合类型实战详解之Scala学习笔记-44

package com.leegh.parameterization import com.leegh.parameterization.Compound_Type /** * @author Guohui Li */ trait Compound_Type1;trait Compound_Type2;class Compound_Type extends Compound_Type1 with Compound_Type2object Compound_Type { def compound_

Scala中结构类型实战详解之Scala学习笔记-43

package com.leegh.parameterization /** * @author Guohui Li */ class Structural { def open() = print("A class instance Opened") } object Structural_Type { def main(args: Array[String]): Unit = { init(new { def open() = println("Opened")

Scala中Dependency Injection实战详解之Scala学习笔记-47

package com.leegh.parameterization /** * @author Guohui Li */ trait Logger { def log(msg: String) }trait Auth { auth: Logger => def act(msg: String) { log(msg) }} object DI extends Auth with Logger { override def log(msg: String) = println(msg)} obje

Scala中Abstract Types实战详解之Scala学习笔记-48

package com.leegh.parameterization import scala.io.BufferedSourceimport scala.io.Source /** * @author Guohui Li */trait Reader { type In <: java.io.Serializable type Contents def read(in: In): Contents}class FileReader extends Reader { type In = Stri

Scala中Self Types实战详解之Scala学习笔记-46

package com.leegh.parameterization /** * @author Guohui Li */class Self { self => val tmp = "Scala" def foo = self.tmp + this.tmp}trait S1class S2 { this: S1 => }class S3 extends S2 with S1 trait T { this: S1 => }object S4 extends T wit

Scala 深入浅出实战经典 第53讲:Scala中结构类型实战详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/pR_4sY0cJLs/优酷:http://v.youku.com/v_show/id_

Scala 深入浅出实战经典 第57讲:Scala中Dependency Injection实战详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/5LnLNDBKvi8/优酷:http://v.youku.com/v_show/id_