【发布时间】:2016-07-01 03:07:48
【问题描述】:
我有一个TextField,如果用户点击不是TextField 本身的任何地方,我想做点什么。
- 显然,如果您不单击节点本身,
onMouseClicked事件将不会触发,因此这是行不通的。 - 收听
focusedProperty可能是个好主意,但问题是我的整个应用程序几乎都不是焦点可遍历的,因此在许多情况下单击文本字段外部不会取消焦点,因此侦听器不会不会被通知。
我唯一想到的就是在场景本身上放置一个事件过滤器,拦截鼠标点击,获取点击坐标并确定它们是否落在文本字段的范围内。我觉得这有点矫枉过正,我可能遗漏了一些更明显的东西。
还有其他方法可以确定用户是否点击了我的TextField 节点之外的任何地方?
【问题讨论】: