事件 – Scala Swing事件框架 – 我在哪里添加我的反应器?
发布时间:2020-12-16 18:51:35 所属栏目:安全 来源:网络整理
导读:我试图在桌面上捕捉鼠标点击(这应该会导致弹出窗口显示).该表位于ScrollPane内,后者(在面板中).我已经添加了对所有类的反应,但我似乎永远不会真正得到一个点击事件被捕获! class MyPanel extends GridBagPanel { val gbc = new GridBagContraints( ... ) ad
我试图在桌面上捕捉鼠标点击(这应该会导致弹出窗口显示).该表位于ScrollPane内,后者(在面板中).我已经添加了对所有类的反应,但我似乎永远不会真正得到一个点击事件被捕获!
class MyPanel extends GridBagPanel { val gbc = new GridBagContraints( ... ) add(new ScrollPane { reactions += { case MouseClicked(src,point,mod,clicks,pops) => println("Scroll pops: " + pops) } viewportView = new Table { reactions += { case MouseClicked(src,pops) => println("Table pops: " + pops) } ... } },gbc) reactions += { case MouseClicked(src,pops) => println("Panel pops: " + pops) } } 无论我在哪里点击,都没有打印出来.我究竟做错了什么? 解决方法
好的 – 你必须听正确的事情:
class MyPanel extends GridBagPanel { val gbc = new GridBagContraints( ... ) val table = new Table { ... } add(new ScrollPane { viewportView = table } },gbc) listenTo(table.Mouse.clicks) //THIS LINE IS IMPORTANT :-) reactions += { case MouseClicked(`table`,pops) => println("Panel pops: " + pops) } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |