Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Scala中捕获对话(Swing)焦点丢失事件?_Swing_Scala_Dialog_Focus - Fatal编程技术网

如何在Scala中捕获对话(Swing)焦点丢失事件?

如何在Scala中捕获对话(Swing)焦点丢失事件?,swing,scala,dialog,focus,Swing,Scala,Dialog,Focus,虽然我可以监听(按钮)FocusLost事件,但我似乎无法在对话框(Scala的Swing组件)中捕获FocusLost事件。我该怎么做?我尝试将Publisher trait添加到对话框中,但没有任何效果。这里的任何建议都很好 谢谢 /lim/您也可以使用底层Java Swing对象。在对话框中调用.peer对象,并接收JDialog对象。我知道我可以使用peer实例,但我尝试按照Swing Scala“规则”工作尽可能接近,除非不可能。我在REPL中尝试过,无法直接从对话框或框架获得焦点丢失

虽然我可以监听(按钮)FocusLost事件,但我似乎无法在对话框(Scala的Swing组件)中捕获FocusLost事件。我该怎么做?我尝试将Publisher trait添加到对话框中,但没有任何效果。这里的任何建议都很好

谢谢


/lim/

您也可以使用底层Java Swing对象。在
对话框中调用
.peer
对象,并接收
JDialog
对象。

我知道我可以使用peer实例,但我尝试按照Swing Scala“规则”工作尽可能接近,除非不可能。我在REPL中尝试过,无法直接从
对话框
框架
获得
焦点丢失
。另外,添加一个
面板
作为中间层并侦听面板也不起作用。只有直接听
按钮
才能按您所述工作。这并不意味着没有Scala解决方案。但无论如何,我给出的答案是有效的,即使你不想遵循它(我能理解的)。这是一个更接近我想要的解决方案,